[wgsl] Support `subgroupMatrixLoad` and `subgroupMatrixStore` with `i8` and `u8`
This patch adds the overloads of `subgroupMatrixLoad` and
`subgroupMatrixStore` with `i8` and `u8` as the element types of the
subgroup matrices.
This patch also fixes the template of the subgroup matrix tests about
`i8` and `u8` by replacing all `array<i8>` with `array<i32>` and
replacing `array<u8>` with `array<u32>`.
Bug: 348702031, 403609083
Test: tint_unittests
Change-Id: Id41ddb92b294ab2ce80fd74a533031883868cc45
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/245454
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: James Price <jrprice@google.com>
diff --git a/src/tint/lang/core/core.def b/src/tint/lang/core/core.def
index ee52a78..e6f29bd 100644
--- a/src/tint/lang/core/core.def
+++ b/src/tint/lang/core/core.def
@@ -788,8 +788,16 @@
@stage("compute") implicit(K: subgroup_matrix_kind, S: fiu32_f16, C: num, R: num) fn subgroupMatrixLoad<T: subgroup_matrix<K, S, C, R> >(ptr<storage, runtime_array<S>, readable>, u32, @const bool, u32) -> 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, @const bool, u32) -> T
+@stage("compute") implicit(K: subgroup_matrix_kind, S: i8, C: num, R: num) fn subgroupMatrixLoad<T: subgroup_matrix<K, S, C, R> >(ptr<storage, runtime_array<i32>, readable>, u32, @const bool, u32) -> T
+@stage("compute") implicit(K: subgroup_matrix_kind, S: u8, C: num, R: num) fn subgroupMatrixLoad<T: subgroup_matrix<K, S, C, R> >(ptr<storage, runtime_array<u32>, readable>, u32, @const bool, u32) -> T
+@stage("compute") implicit(K: subgroup_matrix_kind, S: i8, C: num, R: num, AC: num) fn subgroupMatrixLoad<T: subgroup_matrix<K, S, C, R> >(ptr<workgroup_or_storage, array<i32, AC>, readable>, u32, @const bool, u32) -> T
+@stage("compute") implicit(K: subgroup_matrix_kind, S: u8, C: num, R: num, AC: num) fn subgroupMatrixLoad<T: subgroup_matrix<K, S, C, R> >(ptr<workgroup_or_storage, array<u32, AC>, readable>, u32, @const bool, u32) -> T
@stage("compute") implicit(K: subgroup_matrix_kind, S: fiu32_f16, C: num, R: num) fn subgroupMatrixStore(ptr<storage, runtime_array<S>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, u32)
@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)
+@stage("compute") implicit(K: subgroup_matrix_kind, S: i8, C: num, R: num) fn subgroupMatrixStore(ptr<storage, runtime_array<i32>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, u32)
+@stage("compute") implicit(K: subgroup_matrix_kind, S: u8, C: num, R: num) fn subgroupMatrixStore(ptr<storage, runtime_array<u32>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, u32)
+@stage("compute") implicit(K: subgroup_matrix_kind, S: i8, C: num, R: num, AC: num) fn subgroupMatrixStore(ptr<workgroup_or_storage, array<i32, AC>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, u32)
+@stage("compute") implicit(K: subgroup_matrix_kind, S: u8, C: num, R: num, AC: num) fn subgroupMatrixStore(ptr<workgroup_or_storage, array<u32, AC>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, u32)
@must_use @stage("compute") implicit(T: subgroup_matrix_elements, C: num, R: num, K: num) fn subgroupMatrixMultiply<TR: subgroup_matrix_elements>(
subgroup_matrix<subgroup_matrix_kind_left, T, K, R>,
subgroup_matrix<subgroup_matrix_kind_right, T, C, K>)
diff --git a/src/tint/lang/core/intrinsic/data.cc b/src/tint/lang/core/intrinsic/data.cc
index aa30cd7..a529a96 100644
--- a/src/tint/lang/core/intrinsic/data.cc
+++ b/src/tint/lang/core/intrinsic/data.cc
@@ -1730,352 +1730,396 @@
/* [7] */ MatcherIndex(27),
/* [8] */ MatcherIndex(17),
/* [9] */ MatcherIndex(30),
- /* [10] */ MatcherIndex(1),
- /* [11] */ MatcherIndex(4),
- /* [12] */ MatcherIndex(15),
- /* [13] */ MatcherIndex(11),
+ /* [10] */ MatcherIndex(9),
+ /* [11] */ MatcherIndex(5),
+ /* [12] */ MatcherIndex(14),
+ /* [13] */ MatcherIndex(10),
/* [14] */ MatcherIndex(27),
- /* [15] */ MatcherIndex(18),
- /* [16] */ MatcherIndex(29),
- /* [17] */ MatcherIndex(0),
- /* [18] */ MatcherIndex(1),
- /* [19] */ MatcherIndex(27),
- /* [20] */ MatcherIndex(1),
- /* [21] */ MatcherIndex(28),
- /* [22] */ MatcherIndex(0),
- /* [23] */ MatcherIndex(13),
- /* [24] */ MatcherIndex(11),
- /* [25] */ MatcherIndex(57),
- /* [26] */ MatcherIndex(1),
- /* [27] */ MatcherIndex(2),
- /* [28] */ MatcherIndex(3),
- /* [29] */ MatcherIndex(4),
- /* [30] */ MatcherIndex(27),
- /* [31] */ MatcherIndex(18),
- /* [32] */ MatcherIndex(29),
- /* [33] */ MatcherIndex(2),
- /* [34] */ MatcherIndex(14),
- /* [35] */ MatcherIndex(10),
- /* [36] */ MatcherIndex(27),
- /* [37] */ MatcherIndex(18),
- /* [38] */ MatcherIndex(29),
- /* [39] */ MatcherIndex(1),
+ /* [15] */ MatcherIndex(17),
+ /* [16] */ MatcherIndex(30),
+ /* [17] */ MatcherIndex(10),
+ /* [18] */ MatcherIndex(5),
+ /* [19] */ MatcherIndex(14),
+ /* [20] */ MatcherIndex(11),
+ /* [21] */ MatcherIndex(27),
+ /* [22] */ MatcherIndex(17),
+ /* [23] */ MatcherIndex(30),
+ /* [24] */ MatcherIndex(1),
+ /* [25] */ MatcherIndex(4),
+ /* [26] */ MatcherIndex(15),
+ /* [27] */ MatcherIndex(11),
+ /* [28] */ MatcherIndex(27),
+ /* [29] */ MatcherIndex(17),
+ /* [30] */ MatcherIndex(30),
+ /* [31] */ MatcherIndex(9),
+ /* [32] */ MatcherIndex(4),
+ /* [33] */ MatcherIndex(15),
+ /* [34] */ MatcherIndex(9),
+ /* [35] */ MatcherIndex(27),
+ /* [36] */ MatcherIndex(17),
+ /* [37] */ MatcherIndex(30),
+ /* [38] */ MatcherIndex(10),
+ /* [39] */ MatcherIndex(4),
/* [40] */ MatcherIndex(15),
- /* [41] */ MatcherIndex(9),
- /* [42] */ MatcherIndex(57),
- /* [43] */ MatcherIndex(0),
- /* [44] */ MatcherIndex(1),
- /* [45] */ MatcherIndex(2),
- /* [46] */ MatcherIndex(3),
- /* [47] */ MatcherIndex(57),
- /* [48] */ MatcherIndex(8),
- /* [49] */ MatcherIndex(0),
- /* [50] */ MatcherIndex(2),
- /* [51] */ MatcherIndex(3),
- /* [52] */ MatcherIndex(57),
- /* [53] */ MatcherIndex(6),
+ /* [41] */ MatcherIndex(10),
+ /* [42] */ MatcherIndex(27),
+ /* [43] */ MatcherIndex(18),
+ /* [44] */ MatcherIndex(29),
+ /* [45] */ MatcherIndex(0),
+ /* [46] */ MatcherIndex(1),
+ /* [47] */ MatcherIndex(27),
+ /* [48] */ MatcherIndex(1),
+ /* [49] */ MatcherIndex(28),
+ /* [50] */ MatcherIndex(0),
+ /* [51] */ MatcherIndex(13),
+ /* [52] */ MatcherIndex(11),
+ /* [53] */ MatcherIndex(57),
/* [54] */ MatcherIndex(1),
- /* [55] */ MatcherIndex(4),
+ /* [55] */ MatcherIndex(2),
/* [56] */ MatcherIndex(3),
- /* [57] */ MatcherIndex(57),
- /* [58] */ MatcherIndex(7),
- /* [59] */ MatcherIndex(1),
- /* [60] */ MatcherIndex(2),
- /* [61] */ MatcherIndex(4),
- /* [62] */ MatcherIndex(57),
- /* [63] */ MatcherIndex(8),
- /* [64] */ MatcherIndex(1),
- /* [65] */ MatcherIndex(2),
- /* [66] */ MatcherIndex(3),
- /* [67] */ MatcherIndex(57),
- /* [68] */ MatcherIndex(6),
- /* [69] */ MatcherIndex(0),
- /* [70] */ MatcherIndex(4),
- /* [71] */ MatcherIndex(3),
- /* [72] */ MatcherIndex(57),
- /* [73] */ MatcherIndex(7),
- /* [74] */ MatcherIndex(0),
- /* [75] */ MatcherIndex(2),
- /* [76] */ MatcherIndex(4),
- /* [77] */ MatcherIndex(57),
- /* [78] */ MatcherIndex(6),
- /* [79] */ MatcherIndex(0),
- /* [80] */ MatcherIndex(1),
- /* [81] */ MatcherIndex(2),
- /* [82] */ MatcherIndex(57),
- /* [83] */ MatcherIndex(7),
- /* [84] */ MatcherIndex(0),
- /* [85] */ MatcherIndex(1),
- /* [86] */ MatcherIndex(2),
- /* [87] */ MatcherIndex(57),
- /* [88] */ MatcherIndex(8),
- /* [89] */ MatcherIndex(0),
- /* [90] */ MatcherIndex(1),
- /* [91] */ MatcherIndex(2),
- /* [92] */ MatcherIndex(26),
- /* [93] */ MatcherIndex(0),
- /* [94] */ MatcherIndex(0),
- /* [95] */ MatcherIndex(1),
- /* [96] */ MatcherIndex(26),
- /* [97] */ MatcherIndex(1),
- /* [98] */ MatcherIndex(0),
- /* [99] */ MatcherIndex(2),
- /* [100] */ MatcherIndex(26),
- /* [101] */ MatcherIndex(0),
- /* [102] */ MatcherIndex(1),
- /* [103] */ MatcherIndex(2),
- /* [104] */ MatcherIndex(26),
- /* [105] */ MatcherIndex(1),
- /* [106] */ MatcherIndex(2),
- /* [107] */ MatcherIndex(0),
- /* [108] */ MatcherIndex(26),
- /* [109] */ MatcherIndex(2),
- /* [110] */ MatcherIndex(3),
- /* [111] */ MatcherIndex(0),
- /* [112] */ MatcherIndex(26),
- /* [113] */ MatcherIndex(1),
- /* [114] */ MatcherIndex(3),
- /* [115] */ MatcherIndex(0),
- /* [116] */ MatcherIndex(26),
- /* [117] */ MatcherIndex(2),
- /* [118] */ MatcherIndex(1),
+ /* [57] */ MatcherIndex(4),
+ /* [58] */ MatcherIndex(27),
+ /* [59] */ MatcherIndex(18),
+ /* [60] */ MatcherIndex(29),
+ /* [61] */ MatcherIndex(2),
+ /* [62] */ MatcherIndex(14),
+ /* [63] */ MatcherIndex(9),
+ /* [64] */ MatcherIndex(27),
+ /* [65] */ MatcherIndex(18),
+ /* [66] */ MatcherIndex(29),
+ /* [67] */ MatcherIndex(9),
+ /* [68] */ MatcherIndex(14),
+ /* [69] */ MatcherIndex(1),
+ /* [70] */ MatcherIndex(27),
+ /* [71] */ MatcherIndex(18),
+ /* [72] */ MatcherIndex(29),
+ /* [73] */ MatcherIndex(10),
+ /* [74] */ MatcherIndex(14),
+ /* [75] */ MatcherIndex(27),
+ /* [76] */ MatcherIndex(18),
+ /* [77] */ MatcherIndex(29),
+ /* [78] */ MatcherIndex(1),
+ /* [79] */ MatcherIndex(15),
+ /* [80] */ MatcherIndex(0),
+ /* [81] */ MatcherIndex(57),
+ /* [82] */ MatcherIndex(0),
+ /* [83] */ MatcherIndex(1),
+ /* [84] */ MatcherIndex(2),
+ /* [85] */ MatcherIndex(3),
+ /* [86] */ MatcherIndex(27),
+ /* [87] */ MatcherIndex(18),
+ /* [88] */ MatcherIndex(29),
+ /* [89] */ MatcherIndex(9),
+ /* [90] */ MatcherIndex(15),
+ /* [91] */ MatcherIndex(1),
+ /* [92] */ MatcherIndex(27),
+ /* [93] */ MatcherIndex(18),
+ /* [94] */ MatcherIndex(29),
+ /* [95] */ MatcherIndex(10),
+ /* [96] */ MatcherIndex(15),
+ /* [97] */ MatcherIndex(57),
+ /* [98] */ MatcherIndex(8),
+ /* [99] */ MatcherIndex(0),
+ /* [100] */ MatcherIndex(2),
+ /* [101] */ MatcherIndex(3),
+ /* [102] */ MatcherIndex(57),
+ /* [103] */ MatcherIndex(6),
+ /* [104] */ MatcherIndex(1),
+ /* [105] */ MatcherIndex(4),
+ /* [106] */ MatcherIndex(3),
+ /* [107] */ MatcherIndex(57),
+ /* [108] */ MatcherIndex(7),
+ /* [109] */ MatcherIndex(1),
+ /* [110] */ MatcherIndex(2),
+ /* [111] */ MatcherIndex(4),
+ /* [112] */ MatcherIndex(57),
+ /* [113] */ MatcherIndex(8),
+ /* [114] */ MatcherIndex(1),
+ /* [115] */ MatcherIndex(2),
+ /* [116] */ MatcherIndex(3),
+ /* [117] */ MatcherIndex(57),
+ /* [118] */ MatcherIndex(6),
/* [119] */ MatcherIndex(0),
- /* [120] */ MatcherIndex(25),
- /* [121] */ MatcherIndex(0),
- /* [122] */ MatcherIndex(1),
- /* [123] */ MatcherIndex(25),
+ /* [120] */ MatcherIndex(4),
+ /* [121] */ MatcherIndex(3),
+ /* [122] */ MatcherIndex(57),
+ /* [123] */ MatcherIndex(7),
/* [124] */ MatcherIndex(0),
- /* [125] */ MatcherIndex(6),
- /* [126] */ MatcherIndex(25),
- /* [127] */ MatcherIndex(1),
- /* [128] */ MatcherIndex(0),
- /* [129] */ MatcherIndex(25),
- /* [130] */ MatcherIndex(0),
- /* [131] */ MatcherIndex(11),
- /* [132] */ MatcherIndex(55),
- /* [133] */ MatcherIndex(0),
- /* [134] */ MatcherIndex(1),
- /* [135] */ MatcherIndex(25),
- /* [136] */ MatcherIndex(0),
- /* [137] */ MatcherIndex(2),
- /* [138] */ MatcherIndex(53),
+ /* [125] */ MatcherIndex(2),
+ /* [126] */ MatcherIndex(4),
+ /* [127] */ MatcherIndex(57),
+ /* [128] */ MatcherIndex(6),
+ /* [129] */ MatcherIndex(0),
+ /* [130] */ MatcherIndex(1),
+ /* [131] */ MatcherIndex(2),
+ /* [132] */ MatcherIndex(57),
+ /* [133] */ MatcherIndex(7),
+ /* [134] */ MatcherIndex(0),
+ /* [135] */ MatcherIndex(1),
+ /* [136] */ MatcherIndex(2),
+ /* [137] */ MatcherIndex(57),
+ /* [138] */ MatcherIndex(8),
/* [139] */ MatcherIndex(0),
/* [140] */ MatcherIndex(1),
- /* [141] */ MatcherIndex(46),
- /* [142] */ MatcherIndex(0),
- /* [143] */ MatcherIndex(1),
- /* [144] */ MatcherIndex(47),
- /* [145] */ MatcherIndex(0),
- /* [146] */ MatcherIndex(1),
- /* [147] */ MatcherIndex(48),
+ /* [141] */ MatcherIndex(2),
+ /* [142] */ MatcherIndex(26),
+ /* [143] */ MatcherIndex(0),
+ /* [144] */ MatcherIndex(0),
+ /* [145] */ MatcherIndex(1),
+ /* [146] */ MatcherIndex(26),
+ /* [147] */ MatcherIndex(1),
/* [148] */ MatcherIndex(0),
- /* [149] */ MatcherIndex(1),
- /* [150] */ MatcherIndex(49),
+ /* [149] */ MatcherIndex(2),
+ /* [150] */ MatcherIndex(26),
/* [151] */ MatcherIndex(0),
/* [152] */ MatcherIndex(1),
- /* [153] */ MatcherIndex(46),
- /* [154] */ MatcherIndex(9),
- /* [155] */ MatcherIndex(15),
- /* [156] */ MatcherIndex(10),
- /* [157] */ MatcherIndex(47),
- /* [158] */ MatcherIndex(9),
- /* [159] */ MatcherIndex(15),
- /* [160] */ MatcherIndex(0),
- /* [161] */ MatcherIndex(48),
- /* [162] */ MatcherIndex(9),
- /* [163] */ MatcherIndex(15),
- /* [164] */ MatcherIndex(1),
- /* [165] */ MatcherIndex(49),
- /* [166] */ MatcherIndex(9),
- /* [167] */ MatcherIndex(15),
- /* [168] */ MatcherIndex(46),
- /* [169] */ MatcherIndex(10),
- /* [170] */ MatcherIndex(15),
- /* [171] */ MatcherIndex(47),
- /* [172] */ MatcherIndex(10),
- /* [173] */ MatcherIndex(15),
- /* [174] */ MatcherIndex(48),
- /* [175] */ MatcherIndex(10),
- /* [176] */ MatcherIndex(15),
- /* [177] */ MatcherIndex(49),
- /* [178] */ MatcherIndex(10),
- /* [179] */ MatcherIndex(15),
- /* [180] */ MatcherIndex(46),
+ /* [153] */ MatcherIndex(2),
+ /* [154] */ MatcherIndex(26),
+ /* [155] */ MatcherIndex(1),
+ /* [156] */ MatcherIndex(2),
+ /* [157] */ MatcherIndex(0),
+ /* [158] */ MatcherIndex(26),
+ /* [159] */ MatcherIndex(2),
+ /* [160] */ MatcherIndex(3),
+ /* [161] */ MatcherIndex(0),
+ /* [162] */ MatcherIndex(26),
+ /* [163] */ MatcherIndex(1),
+ /* [164] */ MatcherIndex(3),
+ /* [165] */ MatcherIndex(0),
+ /* [166] */ MatcherIndex(26),
+ /* [167] */ MatcherIndex(2),
+ /* [168] */ MatcherIndex(1),
+ /* [169] */ MatcherIndex(0),
+ /* [170] */ MatcherIndex(25),
+ /* [171] */ MatcherIndex(0),
+ /* [172] */ MatcherIndex(1),
+ /* [173] */ MatcherIndex(25),
+ /* [174] */ MatcherIndex(0),
+ /* [175] */ MatcherIndex(6),
+ /* [176] */ MatcherIndex(25),
+ /* [177] */ MatcherIndex(1),
+ /* [178] */ MatcherIndex(0),
+ /* [179] */ MatcherIndex(25),
+ /* [180] */ MatcherIndex(0),
/* [181] */ MatcherIndex(11),
- /* [182] */ MatcherIndex(15),
- /* [183] */ MatcherIndex(47),
- /* [184] */ MatcherIndex(11),
- /* [185] */ MatcherIndex(15),
- /* [186] */ MatcherIndex(48),
- /* [187] */ MatcherIndex(11),
- /* [188] */ MatcherIndex(15),
- /* [189] */ MatcherIndex(49),
- /* [190] */ MatcherIndex(11),
- /* [191] */ MatcherIndex(15),
- /* [192] */ MatcherIndex(46),
- /* [193] */ MatcherIndex(9),
- /* [194] */ MatcherIndex(14),
- /* [195] */ MatcherIndex(11),
- /* [196] */ MatcherIndex(46),
- /* [197] */ MatcherIndex(10),
- /* [198] */ MatcherIndex(14),
- /* [199] */ MatcherIndex(9),
- /* [200] */ MatcherIndex(46),
- /* [201] */ MatcherIndex(11),
- /* [202] */ MatcherIndex(14),
- /* [203] */ MatcherIndex(1),
- /* [204] */ MatcherIndex(47),
- /* [205] */ MatcherIndex(9),
- /* [206] */ MatcherIndex(14),
- /* [207] */ MatcherIndex(47),
- /* [208] */ MatcherIndex(10),
- /* [209] */ MatcherIndex(14),
- /* [210] */ MatcherIndex(47),
- /* [211] */ MatcherIndex(11),
- /* [212] */ MatcherIndex(14),
- /* [213] */ MatcherIndex(48),
- /* [214] */ MatcherIndex(9),
- /* [215] */ MatcherIndex(14),
- /* [216] */ MatcherIndex(48),
- /* [217] */ MatcherIndex(10),
- /* [218] */ MatcherIndex(14),
- /* [219] */ MatcherIndex(48),
- /* [220] */ MatcherIndex(11),
- /* [221] */ MatcherIndex(14),
- /* [222] */ MatcherIndex(49),
- /* [223] */ MatcherIndex(9),
- /* [224] */ MatcherIndex(14),
- /* [225] */ MatcherIndex(49),
- /* [226] */ MatcherIndex(10),
- /* [227] */ MatcherIndex(14),
- /* [228] */ MatcherIndex(49),
- /* [229] */ MatcherIndex(11),
- /* [230] */ MatcherIndex(14),
- /* [231] */ MatcherIndex(25),
- /* [232] */ MatcherIndex(2),
- /* [233] */ MatcherIndex(0),
- /* [234] */ MatcherIndex(25),
- /* [235] */ MatcherIndex(1),
- /* [236] */ MatcherIndex(6),
- /* [237] */ MatcherIndex(25),
- /* [238] */ MatcherIndex(1),
- /* [239] */ MatcherIndex(10),
- /* [240] */ MatcherIndex(54),
- /* [241] */ MatcherIndex(0),
- /* [242] */ MatcherIndex(52),
- /* [243] */ MatcherIndex(0),
- /* [244] */ MatcherIndex(34),
- /* [245] */ MatcherIndex(0),
- /* [246] */ MatcherIndex(13),
- /* [247] */ MatcherIndex(10),
- /* [248] */ MatcherIndex(35),
- /* [249] */ MatcherIndex(0),
- /* [250] */ MatcherIndex(36),
- /* [251] */ MatcherIndex(0),
- /* [252] */ MatcherIndex(37),
- /* [253] */ MatcherIndex(0),
- /* [254] */ MatcherIndex(38),
- /* [255] */ MatcherIndex(0),
- /* [256] */ MatcherIndex(39),
- /* [257] */ MatcherIndex(0),
- /* [258] */ MatcherIndex(40),
- /* [259] */ MatcherIndex(0),
- /* [260] */ MatcherIndex(13),
- /* [261] */ MatcherIndex(9),
- /* [262] */ MatcherIndex(34),
- /* [263] */ MatcherIndex(11),
- /* [264] */ MatcherIndex(35),
- /* [265] */ MatcherIndex(11),
- /* [266] */ MatcherIndex(36),
- /* [267] */ MatcherIndex(11),
- /* [268] */ MatcherIndex(37),
- /* [269] */ MatcherIndex(11),
- /* [270] */ MatcherIndex(38),
- /* [271] */ MatcherIndex(11),
- /* [272] */ MatcherIndex(39),
+ /* [182] */ MatcherIndex(55),
+ /* [183] */ MatcherIndex(0),
+ /* [184] */ MatcherIndex(1),
+ /* [185] */ MatcherIndex(25),
+ /* [186] */ MatcherIndex(0),
+ /* [187] */ MatcherIndex(2),
+ /* [188] */ MatcherIndex(53),
+ /* [189] */ MatcherIndex(0),
+ /* [190] */ MatcherIndex(1),
+ /* [191] */ MatcherIndex(46),
+ /* [192] */ MatcherIndex(0),
+ /* [193] */ MatcherIndex(1),
+ /* [194] */ MatcherIndex(47),
+ /* [195] */ MatcherIndex(0),
+ /* [196] */ MatcherIndex(1),
+ /* [197] */ MatcherIndex(48),
+ /* [198] */ MatcherIndex(0),
+ /* [199] */ MatcherIndex(1),
+ /* [200] */ MatcherIndex(49),
+ /* [201] */ MatcherIndex(0),
+ /* [202] */ MatcherIndex(1),
+ /* [203] */ MatcherIndex(46),
+ /* [204] */ MatcherIndex(9),
+ /* [205] */ MatcherIndex(15),
+ /* [206] */ MatcherIndex(47),
+ /* [207] */ MatcherIndex(9),
+ /* [208] */ MatcherIndex(15),
+ /* [209] */ MatcherIndex(48),
+ /* [210] */ MatcherIndex(9),
+ /* [211] */ MatcherIndex(15),
+ /* [212] */ MatcherIndex(49),
+ /* [213] */ MatcherIndex(9),
+ /* [214] */ MatcherIndex(15),
+ /* [215] */ MatcherIndex(46),
+ /* [216] */ MatcherIndex(10),
+ /* [217] */ MatcherIndex(15),
+ /* [218] */ MatcherIndex(47),
+ /* [219] */ MatcherIndex(10),
+ /* [220] */ MatcherIndex(15),
+ /* [221] */ MatcherIndex(48),
+ /* [222] */ MatcherIndex(10),
+ /* [223] */ MatcherIndex(15),
+ /* [224] */ MatcherIndex(49),
+ /* [225] */ MatcherIndex(10),
+ /* [226] */ MatcherIndex(15),
+ /* [227] */ MatcherIndex(46),
+ /* [228] */ MatcherIndex(11),
+ /* [229] */ MatcherIndex(15),
+ /* [230] */ MatcherIndex(47),
+ /* [231] */ MatcherIndex(11),
+ /* [232] */ MatcherIndex(15),
+ /* [233] */ MatcherIndex(48),
+ /* [234] */ MatcherIndex(11),
+ /* [235] */ MatcherIndex(15),
+ /* [236] */ MatcherIndex(49),
+ /* [237] */ MatcherIndex(11),
+ /* [238] */ MatcherIndex(15),
+ /* [239] */ MatcherIndex(46),
+ /* [240] */ MatcherIndex(9),
+ /* [241] */ MatcherIndex(14),
+ /* [242] */ MatcherIndex(46),
+ /* [243] */ MatcherIndex(10),
+ /* [244] */ MatcherIndex(14),
+ /* [245] */ MatcherIndex(46),
+ /* [246] */ MatcherIndex(11),
+ /* [247] */ MatcherIndex(14),
+ /* [248] */ MatcherIndex(47),
+ /* [249] */ MatcherIndex(9),
+ /* [250] */ MatcherIndex(14),
+ /* [251] */ MatcherIndex(47),
+ /* [252] */ MatcherIndex(10),
+ /* [253] */ MatcherIndex(14),
+ /* [254] */ MatcherIndex(47),
+ /* [255] */ MatcherIndex(11),
+ /* [256] */ MatcherIndex(14),
+ /* [257] */ MatcherIndex(48),
+ /* [258] */ MatcherIndex(9),
+ /* [259] */ MatcherIndex(14),
+ /* [260] */ MatcherIndex(48),
+ /* [261] */ MatcherIndex(10),
+ /* [262] */ MatcherIndex(14),
+ /* [263] */ MatcherIndex(48),
+ /* [264] */ MatcherIndex(11),
+ /* [265] */ MatcherIndex(14),
+ /* [266] */ MatcherIndex(49),
+ /* [267] */ MatcherIndex(9),
+ /* [268] */ MatcherIndex(14),
+ /* [269] */ MatcherIndex(49),
+ /* [270] */ MatcherIndex(10),
+ /* [271] */ MatcherIndex(14),
+ /* [272] */ MatcherIndex(49),
/* [273] */ MatcherIndex(11),
- /* [274] */ MatcherIndex(13),
- /* [275] */ MatcherIndex(0),
- /* [276] */ MatcherIndex(13),
- /* [277] */ MatcherIndex(1),
- /* [278] */ MatcherIndex(51),
- /* [279] */ MatcherIndex(0),
- /* [280] */ MatcherIndex(56),
- /* [281] */ MatcherIndex(0),
- /* [282] */ MatcherIndex(16),
- /* [283] */ MatcherIndex(0),
- /* [284] */ MatcherIndex(16),
- /* [285] */ MatcherIndex(11),
- /* [286] */ MatcherIndex(16),
- /* [287] */ MatcherIndex(12),
- /* [288] */ MatcherIndex(17),
+ /* [274] */ MatcherIndex(14),
+ /* [275] */ MatcherIndex(25),
+ /* [276] */ MatcherIndex(2),
+ /* [277] */ MatcherIndex(0),
+ /* [278] */ MatcherIndex(25),
+ /* [279] */ MatcherIndex(1),
+ /* [280] */ MatcherIndex(6),
+ /* [281] */ MatcherIndex(25),
+ /* [282] */ MatcherIndex(1),
+ /* [283] */ MatcherIndex(10),
+ /* [284] */ MatcherIndex(54),
+ /* [285] */ MatcherIndex(0),
+ /* [286] */ MatcherIndex(52),
+ /* [287] */ MatcherIndex(0),
+ /* [288] */ MatcherIndex(34),
/* [289] */ MatcherIndex(0),
- /* [290] */ MatcherIndex(17),
- /* [291] */ MatcherIndex(11),
- /* [292] */ MatcherIndex(17),
- /* [293] */ MatcherIndex(12),
- /* [294] */ MatcherIndex(18),
+ /* [290] */ MatcherIndex(13),
+ /* [291] */ MatcherIndex(10),
+ /* [292] */ MatcherIndex(35),
+ /* [293] */ MatcherIndex(0),
+ /* [294] */ MatcherIndex(36),
/* [295] */ MatcherIndex(0),
- /* [296] */ MatcherIndex(18),
- /* [297] */ MatcherIndex(11),
- /* [298] */ MatcherIndex(18),
- /* [299] */ MatcherIndex(12),
- /* [300] */ MatcherIndex(19),
+ /* [296] */ MatcherIndex(37),
+ /* [297] */ MatcherIndex(0),
+ /* [298] */ MatcherIndex(38),
+ /* [299] */ MatcherIndex(0),
+ /* [300] */ MatcherIndex(39),
/* [301] */ MatcherIndex(0),
- /* [302] */ MatcherIndex(19),
- /* [303] */ MatcherIndex(11),
- /* [304] */ MatcherIndex(19),
- /* [305] */ MatcherIndex(12),
- /* [306] */ MatcherIndex(20),
- /* [307] */ MatcherIndex(0),
- /* [308] */ MatcherIndex(20),
+ /* [302] */ MatcherIndex(40),
+ /* [303] */ MatcherIndex(0),
+ /* [304] */ MatcherIndex(13),
+ /* [305] */ MatcherIndex(9),
+ /* [306] */ MatcherIndex(34),
+ /* [307] */ MatcherIndex(11),
+ /* [308] */ MatcherIndex(35),
/* [309] */ MatcherIndex(11),
- /* [310] */ MatcherIndex(20),
- /* [311] */ MatcherIndex(12),
- /* [312] */ MatcherIndex(21),
- /* [313] */ MatcherIndex(0),
- /* [314] */ MatcherIndex(21),
+ /* [310] */ MatcherIndex(36),
+ /* [311] */ MatcherIndex(11),
+ /* [312] */ MatcherIndex(37),
+ /* [313] */ MatcherIndex(11),
+ /* [314] */ MatcherIndex(38),
/* [315] */ MatcherIndex(11),
- /* [316] */ MatcherIndex(21),
- /* [317] */ MatcherIndex(12),
- /* [318] */ MatcherIndex(22),
+ /* [316] */ MatcherIndex(39),
+ /* [317] */ MatcherIndex(11),
+ /* [318] */ MatcherIndex(13),
/* [319] */ MatcherIndex(0),
- /* [320] */ MatcherIndex(22),
- /* [321] */ MatcherIndex(11),
- /* [322] */ MatcherIndex(22),
- /* [323] */ MatcherIndex(12),
- /* [324] */ MatcherIndex(23),
+ /* [320] */ MatcherIndex(13),
+ /* [321] */ MatcherIndex(1),
+ /* [322] */ MatcherIndex(51),
+ /* [323] */ MatcherIndex(0),
+ /* [324] */ MatcherIndex(56),
/* [325] */ MatcherIndex(0),
- /* [326] */ MatcherIndex(23),
- /* [327] */ MatcherIndex(11),
- /* [328] */ MatcherIndex(23),
- /* [329] */ MatcherIndex(12),
- /* [330] */ MatcherIndex(24),
- /* [331] */ MatcherIndex(0),
- /* [332] */ MatcherIndex(24),
- /* [333] */ MatcherIndex(11),
- /* [334] */ MatcherIndex(24),
- /* [335] */ MatcherIndex(12),
- /* [336] */ MatcherIndex(64),
- /* [337] */ MatcherIndex(68),
- /* [338] */ MatcherIndex(69),
- /* [339] */ MatcherIndex(58),
- /* [340] */ MatcherIndex(66),
- /* [341] */ MatcherIndex(65),
- /* [342] */ MatcherIndex(41),
- /* [343] */ MatcherIndex(42),
- /* [344] */ MatcherIndex(43),
- /* [345] */ MatcherIndex(44),
- /* [346] */ MatcherIndex(45),
- /* [347] */ MatcherIndex(50),
- /* [348] */ MatcherIndex(32),
- /* [349] */ MatcherIndex(33),
- /* [350] */ MatcherIndex(70),
- /* [351] */ MatcherIndex(61),
- /* [352] */ MatcherIndex(62),
- /* [353] */ MatcherIndex(59),
- /* [354] */ MatcherIndex(60),
- /* [355] */ MatcherIndex(63),
+ /* [326] */ MatcherIndex(16),
+ /* [327] */ MatcherIndex(0),
+ /* [328] */ MatcherIndex(16),
+ /* [329] */ MatcherIndex(11),
+ /* [330] */ MatcherIndex(16),
+ /* [331] */ MatcherIndex(12),
+ /* [332] */ MatcherIndex(17),
+ /* [333] */ MatcherIndex(0),
+ /* [334] */ MatcherIndex(17),
+ /* [335] */ MatcherIndex(11),
+ /* [336] */ MatcherIndex(17),
+ /* [337] */ MatcherIndex(12),
+ /* [338] */ MatcherIndex(18),
+ /* [339] */ MatcherIndex(0),
+ /* [340] */ MatcherIndex(18),
+ /* [341] */ MatcherIndex(11),
+ /* [342] */ MatcherIndex(18),
+ /* [343] */ MatcherIndex(12),
+ /* [344] */ MatcherIndex(19),
+ /* [345] */ MatcherIndex(0),
+ /* [346] */ MatcherIndex(19),
+ /* [347] */ MatcherIndex(11),
+ /* [348] */ MatcherIndex(19),
+ /* [349] */ MatcherIndex(12),
+ /* [350] */ MatcherIndex(20),
+ /* [351] */ MatcherIndex(0),
+ /* [352] */ MatcherIndex(20),
+ /* [353] */ MatcherIndex(11),
+ /* [354] */ MatcherIndex(20),
+ /* [355] */ MatcherIndex(12),
+ /* [356] */ MatcherIndex(21),
+ /* [357] */ MatcherIndex(0),
+ /* [358] */ MatcherIndex(21),
+ /* [359] */ MatcherIndex(11),
+ /* [360] */ MatcherIndex(21),
+ /* [361] */ MatcherIndex(12),
+ /* [362] */ MatcherIndex(22),
+ /* [363] */ MatcherIndex(0),
+ /* [364] */ MatcherIndex(22),
+ /* [365] */ MatcherIndex(11),
+ /* [366] */ MatcherIndex(22),
+ /* [367] */ MatcherIndex(12),
+ /* [368] */ MatcherIndex(23),
+ /* [369] */ MatcherIndex(0),
+ /* [370] */ MatcherIndex(23),
+ /* [371] */ MatcherIndex(11),
+ /* [372] */ MatcherIndex(23),
+ /* [373] */ MatcherIndex(12),
+ /* [374] */ MatcherIndex(24),
+ /* [375] */ MatcherIndex(0),
+ /* [376] */ MatcherIndex(24),
+ /* [377] */ MatcherIndex(11),
+ /* [378] */ MatcherIndex(24),
+ /* [379] */ MatcherIndex(12),
+ /* [380] */ MatcherIndex(64),
+ /* [381] */ MatcherIndex(68),
+ /* [382] */ MatcherIndex(69),
+ /* [383] */ MatcherIndex(58),
+ /* [384] */ MatcherIndex(66),
+ /* [385] */ MatcherIndex(65),
+ /* [386] */ MatcherIndex(41),
+ /* [387] */ MatcherIndex(42),
+ /* [388] */ MatcherIndex(43),
+ /* [389] */ MatcherIndex(44),
+ /* [390] */ MatcherIndex(45),
+ /* [391] */ MatcherIndex(50),
+ /* [392] */ MatcherIndex(32),
+ /* [393] */ MatcherIndex(33),
+ /* [394] */ MatcherIndex(70),
+ /* [395] */ MatcherIndex(61),
+ /* [396] */ MatcherIndex(62),
+ /* [397] */ MatcherIndex(59),
+ /* [398] */ MatcherIndex(60),
+ /* [399] */ MatcherIndex(63),
};
static_assert(MatcherIndicesIndex::CanIndex(kMatcherIndices),
@@ -2085,7 +2129,7 @@
{
/* [0] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(19),
+ /* matcher_indices */ MatcherIndicesIndex(47),
},
{
/* [1] */
@@ -2170,27 +2214,27 @@
{
/* [17] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(35),
+ /* matcher_indices */ MatcherIndicesIndex(13),
},
{
/* [18] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(35),
+ /* matcher_indices */ MatcherIndicesIndex(13),
},
{
/* [19] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(266),
+ /* matcher_indices */ MatcherIndicesIndex(310),
},
{
/* [20] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [21] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [22] */
@@ -2200,37 +2244,37 @@
{
/* [23] */
/* usage */ core::ParameterUsage::kDdx,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [24] */
/* usage */ core::ParameterUsage::kDdy,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [25] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(260),
+ /* matcher_indices */ MatcherIndicesIndex(304),
},
{
/* [26] */
/* usage */ core::ParameterUsage::kComponent,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* matcher_indices */ MatcherIndicesIndex(24),
},
{
/* [27] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(250),
+ /* matcher_indices */ MatcherIndicesIndex(294),
},
{
/* [28] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [29] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [30] */
@@ -2240,22 +2284,22 @@
{
/* [31] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(260),
+ /* matcher_indices */ MatcherIndicesIndex(304),
},
{
/* [32] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(343),
+ /* matcher_indices */ MatcherIndicesIndex(387),
},
{
/* [33] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(349),
+ /* matcher_indices */ MatcherIndicesIndex(393),
},
{
/* [34] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [35] */
@@ -2265,27 +2309,27 @@
{
/* [36] */
/* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(20),
},
{
/* [37] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(260),
+ /* matcher_indices */ MatcherIndicesIndex(304),
},
{
/* [38] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(266),
+ /* matcher_indices */ MatcherIndicesIndex(310),
},
{
/* [39] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [40] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [41] */
@@ -2295,87 +2339,87 @@
{
/* [42] */
/* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(20),
},
{
/* [43] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(260),
+ /* matcher_indices */ MatcherIndicesIndex(304),
},
{
/* [44] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(264),
+ /* matcher_indices */ MatcherIndicesIndex(308),
},
{
/* [45] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [46] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [47] */
/* usage */ core::ParameterUsage::kDdx,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [48] */
/* usage */ core::ParameterUsage::kDdy,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [49] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(260),
+ /* matcher_indices */ MatcherIndicesIndex(304),
},
{
/* [50] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(268),
+ /* matcher_indices */ MatcherIndicesIndex(312),
},
{
/* [51] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [52] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(194),
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
/* [53] */
/* usage */ core::ParameterUsage::kDdx,
- /* matcher_indices */ MatcherIndicesIndex(194),
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
/* [54] */
/* usage */ core::ParameterUsage::kDdy,
- /* matcher_indices */ MatcherIndicesIndex(194),
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
/* [55] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(198),
+ /* matcher_indices */ MatcherIndicesIndex(62),
},
{
/* [56] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(272),
+ /* matcher_indices */ MatcherIndicesIndex(316),
},
{
/* [57] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [58] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(194),
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
/* [59] */
@@ -2385,27 +2429,27 @@
{
/* [60] */
/* usage */ core::ParameterUsage::kDdx,
- /* matcher_indices */ MatcherIndicesIndex(194),
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
/* [61] */
/* usage */ core::ParameterUsage::kDdy,
- /* matcher_indices */ MatcherIndicesIndex(194),
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
/* [62] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(266),
+ /* matcher_indices */ MatcherIndicesIndex(310),
},
{
/* [63] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [64] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [65] */
@@ -2415,27 +2459,27 @@
{
/* [66] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(20),
},
{
/* [67] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(260),
+ /* matcher_indices */ MatcherIndicesIndex(304),
},
{
/* [68] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(343),
+ /* matcher_indices */ MatcherIndicesIndex(387),
},
{
/* [69] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [70] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [71] */
@@ -2445,57 +2489,57 @@
{
/* [72] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* matcher_indices */ MatcherIndicesIndex(24),
},
{
/* [73] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(260),
+ /* matcher_indices */ MatcherIndicesIndex(304),
},
{
/* [74] */
/* usage */ core::ParameterUsage::kComponent,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* matcher_indices */ MatcherIndicesIndex(24),
},
{
/* [75] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(292),
},
{
/* [76] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [77] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [78] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(260),
+ /* matcher_indices */ MatcherIndicesIndex(304),
},
{
/* [79] */
/* usage */ core::ParameterUsage::kComponent,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* matcher_indices */ MatcherIndicesIndex(24),
},
{
/* [80] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(256),
+ /* matcher_indices */ MatcherIndicesIndex(300),
},
{
/* [81] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [82] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(194),
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
/* [83] */
@@ -2505,17 +2549,17 @@
{
/* [84] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(343),
+ /* matcher_indices */ MatcherIndicesIndex(387),
},
{
/* [85] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [86] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [87] */
@@ -2525,47 +2569,47 @@
{
/* [88] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(260),
+ /* matcher_indices */ MatcherIndicesIndex(304),
},
{
/* [89] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(342),
+ /* matcher_indices */ MatcherIndicesIndex(386),
},
{
/* [90] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(349),
+ /* matcher_indices */ MatcherIndicesIndex(393),
},
{
/* [91] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [92] */
/* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(20),
},
{
/* [93] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(260),
+ /* matcher_indices */ MatcherIndicesIndex(304),
},
{
/* [94] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(345),
+ /* matcher_indices */ MatcherIndicesIndex(389),
},
{
/* [95] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(349),
+ /* matcher_indices */ MatcherIndicesIndex(393),
},
{
/* [96] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(194),
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
/* [97] */
@@ -2575,22 +2619,22 @@
{
/* [98] */
/* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(20),
},
{
/* [99] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(266),
+ /* matcher_indices */ MatcherIndicesIndex(310),
},
{
/* [100] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [101] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [102] */
@@ -2600,72 +2644,72 @@
{
/* [103] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(260),
+ /* matcher_indices */ MatcherIndicesIndex(304),
},
{
/* [104] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(264),
+ /* matcher_indices */ MatcherIndicesIndex(308),
},
{
/* [105] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [106] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [107] */
/* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(20),
},
{
/* [108] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(260),
+ /* matcher_indices */ MatcherIndicesIndex(304),
},
{
/* [109] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(268),
+ /* matcher_indices */ MatcherIndicesIndex(312),
},
{
/* [110] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [111] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(194),
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
/* [112] */
/* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(20),
},
{
/* [113] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(198),
+ /* matcher_indices */ MatcherIndicesIndex(62),
},
{
/* [114] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(272),
+ /* matcher_indices */ MatcherIndicesIndex(316),
},
{
/* [115] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [116] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(194),
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
/* [117] */
@@ -2675,97 +2719,97 @@
{
/* [118] */
/* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(20),
},
{
/* [119] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(270),
+ /* matcher_indices */ MatcherIndicesIndex(314),
},
{
/* [120] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [121] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(194),
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
/* [122] */
/* usage */ core::ParameterUsage::kDdx,
- /* matcher_indices */ MatcherIndicesIndex(194),
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
/* [123] */
/* usage */ core::ParameterUsage::kDdy,
- /* matcher_indices */ MatcherIndicesIndex(194),
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
/* [124] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(264),
+ /* matcher_indices */ MatcherIndicesIndex(308),
},
{
/* [125] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [126] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [127] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(20),
},
{
/* [128] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(260),
+ /* matcher_indices */ MatcherIndicesIndex(304),
},
{
/* [129] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(268),
+ /* matcher_indices */ MatcherIndicesIndex(312),
},
{
/* [130] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [131] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(194),
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
/* [132] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(20),
},
{
/* [133] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(198),
+ /* matcher_indices */ MatcherIndicesIndex(62),
},
{
/* [134] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(272),
+ /* matcher_indices */ MatcherIndicesIndex(316),
},
{
/* [135] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [136] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(194),
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
/* [137] */
@@ -2775,22 +2819,22 @@
{
/* [138] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(20),
},
{
/* [139] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(342),
+ /* matcher_indices */ MatcherIndicesIndex(386),
},
{
/* [140] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [141] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [142] */
@@ -2800,22 +2844,22 @@
{
/* [143] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(260),
+ /* matcher_indices */ MatcherIndicesIndex(304),
},
{
/* [144] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(345),
+ /* matcher_indices */ MatcherIndicesIndex(389),
},
{
/* [145] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
/* [146] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(194),
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
/* [147] */
@@ -2825,1533 +2869,1713 @@
{
/* [148] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* matcher_indices */ MatcherIndicesIndex(24),
},
{
/* [149] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(36),
+ /* matcher_indices */ MatcherIndicesIndex(75),
},
{
/* [150] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(35),
+ /* matcher_indices */ MatcherIndicesIndex(13),
},
{
/* [151] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(42),
+ /* matcher_indices */ MatcherIndicesIndex(81),
},
{
/* [152] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(53),
+ /* matcher_indices */ MatcherIndicesIndex(103),
},
{
/* [153] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(35),
+ /* matcher_indices */ MatcherIndicesIndex(13),
},
{
/* [154] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(7),
+ /* matcher_indices */ MatcherIndicesIndex(21),
},
{
/* [155] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(35),
+ /* matcher_indices */ MatcherIndicesIndex(13),
},
{
/* [156] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(42),
+ /* matcher_indices */ MatcherIndicesIndex(81),
},
{
/* [157] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(53),
+ /* matcher_indices */ MatcherIndicesIndex(103),
},
{
/* [158] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(35),
+ /* matcher_indices */ MatcherIndicesIndex(13),
},
{
/* [159] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(120),
+ /* matcher_indices */ MatcherIndicesIndex(86),
},
{
/* [160] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(120),
+ /* matcher_indices */ MatcherIndicesIndex(13),
},
{
/* [161] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(35),
+ /* matcher_indices */ MatcherIndicesIndex(81),
},
{
/* [162] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(35),
+ /* matcher_indices */ MatcherIndicesIndex(103),
},
{
/* [163] */
- /* usage */ core::ParameterUsage::kComponent,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
},
{
/* [164] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(254),
- },
- {
- /* [165] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
- },
- {
- /* [166] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(194),
- },
- {
- /* [167] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(342),
- },
- {
- /* [168] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
- },
- {
- /* [169] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(23),
- },
- {
- /* [170] */
- /* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(260),
- },
- {
- /* [171] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(344),
- },
- {
- /* [172] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(349),
- },
- {
- /* [173] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(194),
- },
- {
- /* [174] */
- /* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [175] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(264),
- },
- {
- /* [176] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
- },
- {
- /* [177] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(23),
- },
- {
- /* [178] */
- /* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(260),
- },
- {
- /* [179] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(268),
- },
- {
- /* [180] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
- },
- {
- /* [181] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(194),
- },
- {
- /* [182] */
- /* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(198),
- },
- {
- /* [183] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(270),
- },
- {
- /* [184] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
- },
- {
- /* [185] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(194),
- },
- {
- /* [186] */
- /* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [187] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(270),
- },
- {
- /* [188] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
- },
- {
- /* [189] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(194),
- },
- {
- /* [190] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [191] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(344),
- },
- {
- /* [192] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
- },
- {
- /* [193] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(194),
- },
- {
- /* [194] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [195] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(161),
- },
- {
- /* [196] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [197] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [198] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(12),
- },
- {
- /* [199] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(174),
- },
- {
- /* [200] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [201] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [202] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(40),
- },
- {
- /* [203] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(186),
- },
- {
- /* [204] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [205] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [206] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(155),
- },
- {
- /* [207] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(250),
- },
- {
- /* [208] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(276),
- },
- {
- /* [209] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [210] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(28),
- },
- {
- /* [211] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(343),
- },
- {
- /* [212] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [213] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [214] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [215] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(30),
- },
- {
- /* [216] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(35),
- },
- {
- /* [217] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(53),
- },
- {
- /* [218] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(35),
- },
- {
- /* [219] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(0),
- },
- {
- /* [220] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(35),
- },
- {
- /* [221] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(53),
- },
- {
- /* [222] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(35),
- },
- {
- /* [223] */
- /* usage */ core::ParameterUsage::kX,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [224] */
- /* usage */ core::ParameterUsage::kY,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [225] */
- /* usage */ core::ParameterUsage::kZ,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [226] */
- /* usage */ core::ParameterUsage::kW,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [227] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [228] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [229] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [230] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [231] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(5),
- },
- {
- /* [232] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(5),
- },
- {
- /* [233] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(5),
- },
- {
- /* [234] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(5),
- },
- {
- /* [235] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(159),
- },
- {
- /* [236] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(159),
- },
- {
- /* [237] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(159),
- },
- {
- /* [238] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(159),
- },
- {
- /* [239] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(126),
- },
- {
- /* [240] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(126),
- },
- {
- /* [241] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(126),
- },
- {
- /* [242] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(53),
- },
- {
- /* [243] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(53),
- },
- {
- /* [244] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(120),
- },
- {
- /* [245] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(120),
- },
- {
- /* [246] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(120),
- },
- {
- /* [247] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [248] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [249] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [250] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(53),
- },
- {
- /* [251] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(120),
- },
- {
- /* [252] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(120),
- },
- {
- /* [253] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(123),
- },
- {
- /* [254] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(123),
- },
- {
- /* [255] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(262),
- },
- {
- /* [256] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
- },
- {
- /* [257] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [258] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(347),
- },
- {
- /* [259] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(348),
- },
- {
- /* [260] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(23),
- },
- {
- /* [261] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(153),
- },
- {
- /* [262] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [263] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(12),
- },
- {
- /* [264] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(157),
- },
- {
- /* [265] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [266] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(12),
- },
- {
- /* [267] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(165),
- },
- {
- /* [268] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(5),
- },
- {
- /* [269] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(12),
- },
- {
- /* [270] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(168),
- },
- {
- /* [271] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [272] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(40),
- },
- {
- /* [273] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(171),
- },
- {
- /* [274] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [275] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(40),
- },
- {
- /* [276] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(177),
- },
- {
- /* [277] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(5),
- },
- {
- /* [278] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(40),
- },
- {
- /* [279] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(180),
- },
- {
- /* [280] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [281] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(155),
- },
- {
- /* [282] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(183),
- },
- {
- /* [283] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [284] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(155),
- },
- {
- /* [285] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(189),
- },
- {
- /* [286] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(5),
- },
- {
- /* [287] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(155),
- },
- {
- /* [288] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(244),
- },
- {
- /* [289] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [290] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [291] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(248),
- },
- {
- /* [292] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(276),
- },
- {
- /* [293] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [294] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(252),
- },
- {
- /* [295] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(202),
- },
- {
- /* [296] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [297] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(258),
- },
- {
- /* [298] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(276),
- },
- {
- /* [299] */
- /* usage */ core::ParameterUsage::kSampleIndex,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [300] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(342),
- },
- {
- /* [301] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [302] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [303] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(346),
- },
- {
- /* [304] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [305] */
- /* usage */ core::ParameterUsage::kSampleIndex,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [306] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(213),
- },
- {
- /* [307] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [308] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [309] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(216),
- },
- {
- /* [310] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [311] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [312] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(219),
- },
- {
- /* [313] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [314] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [315] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(67),
- },
- {
- /* [316] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(72),
- },
- {
- /* [317] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(62),
- },
- {
- /* [318] */
- /* usage */ core::ParameterUsage::kXy,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [319] */
- /* usage */ core::ParameterUsage::kZ,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [320] */
- /* usage */ core::ParameterUsage::kW,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [321] */
- /* usage */ core::ParameterUsage::kX,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [322] */
- /* usage */ core::ParameterUsage::kYz,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [323] */
- /* usage */ core::ParameterUsage::kW,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [324] */
- /* usage */ core::ParameterUsage::kX,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [325] */
- /* usage */ core::ParameterUsage::kY,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [326] */
- /* usage */ core::ParameterUsage::kZw,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [327] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [328] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [329] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(120),
- },
- {
- /* [330] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(135),
- },
- {
- /* [331] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(244),
- },
- {
- /* [332] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [333] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(248),
- },
- {
- /* [334] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [335] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(250),
- },
- {
- /* [336] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [337] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(252),
- },
- {
- /* [338] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [339] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(254),
- },
- {
- /* [340] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [341] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(256),
- },
- {
- /* [342] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [343] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(342),
- },
- {
- /* [344] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [345] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(343),
- },
- {
- /* [346] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [347] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(344),
- },
- {
- /* [348] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [349] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(345),
- },
- {
- /* [350] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [351] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(347),
- },
- {
- /* [352] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [353] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(192),
- },
- {
- /* [354] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [355] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(196),
- },
- {
- /* [356] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [357] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(200),
- },
- {
- /* [358] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [359] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(204),
- },
- {
- /* [360] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [361] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(207),
- },
- {
- /* [362] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [363] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(210),
- },
- {
- /* [364] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [365] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(222),
- },
- {
- /* [366] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(5),
- },
- {
- /* [367] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(225),
- },
- {
- /* [368] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(5),
- },
- {
- /* [369] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(228),
- },
- {
- /* [370] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(5),
- },
- {
- /* [371] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [372] */
- /* usage */ core::ParameterUsage::kSourceLaneIndex,
- /* matcher_indices */ MatcherIndicesIndex(338),
- },
- {
- /* [373] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(120),
- },
- {
- /* [374] */
- /* usage */ core::ParameterUsage::kSourceLaneIndex,
- /* matcher_indices */ MatcherIndicesIndex(338),
- },
- {
- /* [375] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [376] */
- /* usage */ core::ParameterUsage::kMask,
- /* matcher_indices */ MatcherIndicesIndex(35),
- },
- {
- /* [377] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(120),
- },
- {
- /* [378] */
- /* usage */ core::ParameterUsage::kMask,
- /* matcher_indices */ MatcherIndicesIndex(35),
- },
- {
- /* [379] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [380] */
- /* usage */ core::ParameterUsage::kDelta,
- /* matcher_indices */ MatcherIndicesIndex(35),
- },
- {
- /* [381] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(120),
- },
- {
- /* [382] */
- /* usage */ core::ParameterUsage::kDelta,
- /* matcher_indices */ MatcherIndicesIndex(35),
- },
- {
- /* [383] */
- /* usage */ core::ParameterUsage::kE,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [384] */
- /* usage */ core::ParameterUsage::kId,
- /* matcher_indices */ MatcherIndicesIndex(338),
- },
- {
- /* [385] */
- /* usage */ core::ParameterUsage::kE,
- /* matcher_indices */ MatcherIndicesIndex(120),
- },
- {
- /* [386] */
- /* usage */ core::ParameterUsage::kId,
- /* matcher_indices */ MatcherIndicesIndex(338),
- },
- {
- /* [387] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(52),
- },
- {
- /* [388] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(57),
- },
- {
- /* [389] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(126),
- },
- {
- /* [390] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [391] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(126),
- },
- {
- /* [392] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(237),
- },
- {
- /* [393] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(104),
- },
- {
- /* [394] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(104),
- },
- {
- /* [395] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [396] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(104),
- },
- {
- /* [397] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(126),
- },
- {
- /* [398] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(231),
- },
- {
- /* [399] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(104),
- },
- {
- /* [400] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(112),
- },
- {
- /* [401] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(116),
- },
- {
- /* [402] */
- /* usage */ core::ParameterUsage::kXy,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [403] */
- /* usage */ core::ParameterUsage::kZw,
- /* matcher_indices */ MatcherIndicesIndex(274),
- },
- {
- /* [404] */
- /* usage */ core::ParameterUsage::kXyz,
- /* matcher_indices */ MatcherIndicesIndex(5),
- },
- {
- /* [405] */
- /* usage */ core::ParameterUsage::kW,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [406] */
- /* usage */ core::ParameterUsage::kX,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [407] */
- /* usage */ core::ParameterUsage::kZyw,
- /* matcher_indices */ MatcherIndicesIndex(5),
- },
- {
- /* [408] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(14),
- },
- {
- /* [409] */
/* usage */ core::ParameterUsage::kNone,
/* matcher_indices */ MatcherIndicesIndex(92),
},
{
- /* [410] */
+ /* [165] */
/* usage */ core::ParameterUsage::kNone,
/* matcher_indices */ MatcherIndicesIndex(13),
},
{
- /* [411] */
+ /* [166] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(129),
+ /* matcher_indices */ MatcherIndicesIndex(81),
},
{
- /* [412] */
+ /* [167] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(103),
},
{
- /* [413] */
+ /* [168] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(12),
+ /* matcher_indices */ MatcherIndicesIndex(13),
},
{
- /* [414] */
+ /* [169] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(40),
+ /* matcher_indices */ MatcherIndicesIndex(28),
},
{
- /* [415] */
+ /* [170] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(155),
+ /* matcher_indices */ MatcherIndicesIndex(13),
},
{
- /* [416] */
+ /* [171] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(100),
+ /* matcher_indices */ MatcherIndicesIndex(81),
},
{
- /* [417] */
+ /* [172] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [173] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [174] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(35),
+ },
+ {
+ /* [175] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [176] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(81),
+ },
+ {
+ /* [177] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [178] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [179] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(170),
+ },
+ {
+ /* [180] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(170),
+ },
+ {
+ /* [181] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [182] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [183] */
+ /* usage */ core::ParameterUsage::kComponent,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [184] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(141),
- },
- {
- /* [418] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(144),
- },
- {
- /* [419] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(147),
- },
- {
- /* [420] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(150),
- },
- {
- /* [421] */
- /* usage */ core::ParameterUsage::kInputAttachment,
- /* matcher_indices */ MatcherIndicesIndex(278),
- },
- {
- /* [422] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(41),
- },
- {
- /* [423] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(287),
- },
- {
- /* [424] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(276),
- },
- {
- /* [425] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(202),
- },
- {
- /* [426] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(163),
- },
- {
- /* [427] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(282),
- },
- {
- /* [428] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(284),
- },
- {
- /* [429] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(286),
- },
- {
- /* [430] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(288),
- },
- {
- /* [431] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(290),
- },
- {
- /* [432] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(292),
- },
- {
- /* [433] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(294),
- },
- {
- /* [434] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(296),
- },
- {
- /* [435] */
- /* usage */ core::ParameterUsage::kNone,
/* matcher_indices */ MatcherIndicesIndex(298),
},
{
- /* [436] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(300),
+ /* [185] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
- /* [437] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(302),
+ /* [186] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
- /* [438] */
- /* usage */ core::ParameterUsage::kNone,
+ /* [187] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(386),
+ },
+ {
+ /* [188] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(392),
+ },
+ {
+ /* [189] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(51),
+ },
+ {
+ /* [190] */
+ /* usage */ core::ParameterUsage::kOffset,
/* matcher_indices */ MatcherIndicesIndex(304),
},
{
- /* [439] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(306),
+ /* [191] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(388),
},
{
- /* [440] */
- /* usage */ core::ParameterUsage::kNone,
+ /* [192] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(393),
+ },
+ {
+ /* [193] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(19),
+ },
+ {
+ /* [194] */
+ /* usage */ core::ParameterUsage::kDepthRef,
+ /* matcher_indices */ MatcherIndicesIndex(20),
+ },
+ {
+ /* [195] */
+ /* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(308),
},
{
- /* [441] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(310),
+ /* [196] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
- /* [442] */
- /* usage */ core::ParameterUsage::kNone,
+ /* [197] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(51),
+ },
+ {
+ /* [198] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(304),
+ },
+ {
+ /* [199] */
+ /* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(312),
},
{
- /* [443] */
- /* usage */ core::ParameterUsage::kNone,
+ /* [200] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(392),
+ },
+ {
+ /* [201] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(19),
+ },
+ {
+ /* [202] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(62),
+ },
+ {
+ /* [203] */
+ /* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(314),
},
{
- /* [444] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(316),
+ /* [204] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(392),
},
{
- /* [445] */
+ /* [205] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(19),
+ },
+ {
+ /* [206] */
+ /* usage */ core::ParameterUsage::kBias,
+ /* matcher_indices */ MatcherIndicesIndex(20),
+ },
+ {
+ /* [207] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(314),
+ },
+ {
+ /* [208] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(392),
+ },
+ {
+ /* [209] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(19),
+ },
+ {
+ /* [210] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(20),
+ },
+ {
+ /* [211] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(388),
+ },
+ {
+ /* [212] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(392),
+ },
+ {
+ /* [213] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(19),
+ },
+ {
+ /* [214] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [215] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(209),
+ },
+ {
+ /* [216] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [217] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [218] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ },
+ {
+ /* [219] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(221),
+ },
+ {
+ /* [220] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [221] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [222] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(33),
+ },
+ {
+ /* [223] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(233),
+ },
+ {
+ /* [224] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [225] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [226] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(40),
+ },
+ {
+ /* [227] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(294),
+ },
+ {
+ /* [228] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(320),
+ },
+ {
+ /* [229] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [230] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(56),
+ },
+ {
+ /* [231] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(387),
+ },
+ {
+ /* [232] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [233] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [234] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [235] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(58),
+ },
+ {
+ /* [236] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [237] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [238] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [239] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(0),
+ },
+ {
+ /* [240] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [241] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [242] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [243] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(64),
+ },
+ {
+ /* [244] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [245] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [246] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [247] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(70),
+ },
+ {
+ /* [248] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [249] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [250] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [251] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(7),
+ },
+ {
+ /* [252] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [253] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [254] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [255] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(14),
+ },
+ {
+ /* [256] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [257] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [258] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [259] */
+ /* usage */ core::ParameterUsage::kX,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [260] */
+ /* usage */ core::ParameterUsage::kY,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [261] */
+ /* usage */ core::ParameterUsage::kZ,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [262] */
+ /* usage */ core::ParameterUsage::kW,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [263] */
/* usage */ core::ParameterUsage::kNone,
/* matcher_indices */ MatcherIndicesIndex(318),
},
{
+ /* [264] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [265] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [266] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [267] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(5),
+ },
+ {
+ /* [268] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(5),
+ },
+ {
+ /* [269] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(5),
+ },
+ {
+ /* [270] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(5),
+ },
+ {
+ /* [271] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(79),
+ },
+ {
+ /* [272] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(79),
+ },
+ {
+ /* [273] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(79),
+ },
+ {
+ /* [274] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(79),
+ },
+ {
+ /* [275] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(176),
+ },
+ {
+ /* [276] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(176),
+ },
+ {
+ /* [277] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(176),
+ },
+ {
+ /* [278] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [279] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [280] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(170),
+ },
+ {
+ /* [281] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(170),
+ },
+ {
+ /* [282] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(170),
+ },
+ {
+ /* [283] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [284] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [285] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [286] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [287] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(170),
+ },
+ {
+ /* [288] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(170),
+ },
+ {
+ /* [289] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(173),
+ },
+ {
+ /* [290] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(173),
+ },
+ {
+ /* [291] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(306),
+ },
+ {
+ /* [292] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(392),
+ },
+ {
+ /* [293] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(20),
+ },
+ {
+ /* [294] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(391),
+ },
+ {
+ /* [295] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(392),
+ },
+ {
+ /* [296] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(51),
+ },
+ {
+ /* [297] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(203),
+ },
+ {
+ /* [298] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [299] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ },
+ {
+ /* [300] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(206),
+ },
+ {
+ /* [301] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [302] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ },
+ {
+ /* [303] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(212),
+ },
+ {
+ /* [304] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(5),
+ },
+ {
+ /* [305] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ },
+ {
+ /* [306] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(215),
+ },
+ {
+ /* [307] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [308] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(33),
+ },
+ {
+ /* [309] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(218),
+ },
+ {
+ /* [310] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [311] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(33),
+ },
+ {
+ /* [312] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(224),
+ },
+ {
+ /* [313] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(5),
+ },
+ {
+ /* [314] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(33),
+ },
+ {
+ /* [315] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(227),
+ },
+ {
+ /* [316] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [317] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(40),
+ },
+ {
+ /* [318] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(230),
+ },
+ {
+ /* [319] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [320] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(40),
+ },
+ {
+ /* [321] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(236),
+ },
+ {
+ /* [322] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(5),
+ },
+ {
+ /* [323] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(40),
+ },
+ {
+ /* [324] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(288),
+ },
+ {
+ /* [325] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [326] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [327] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(292),
+ },
+ {
+ /* [328] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(320),
+ },
+ {
+ /* [329] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [330] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(296),
+ },
+ {
+ /* [331] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(68),
+ },
+ {
+ /* [332] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [333] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(302),
+ },
+ {
+ /* [334] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(320),
+ },
+ {
+ /* [335] */
+ /* usage */ core::ParameterUsage::kSampleIndex,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [336] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(386),
+ },
+ {
+ /* [337] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [338] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [339] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(390),
+ },
+ {
+ /* [340] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [341] */
+ /* usage */ core::ParameterUsage::kSampleIndex,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [342] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(257),
+ },
+ {
+ /* [343] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [344] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [345] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(260),
+ },
+ {
+ /* [346] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [347] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [348] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(263),
+ },
+ {
+ /* [349] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [350] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [351] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(117),
+ },
+ {
+ /* [352] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(122),
+ },
+ {
+ /* [353] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(112),
+ },
+ {
+ /* [354] */
+ /* usage */ core::ParameterUsage::kXy,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [355] */
+ /* usage */ core::ParameterUsage::kZ,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [356] */
+ /* usage */ core::ParameterUsage::kW,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [357] */
+ /* usage */ core::ParameterUsage::kX,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [358] */
+ /* usage */ core::ParameterUsage::kYz,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [359] */
+ /* usage */ core::ParameterUsage::kW,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [360] */
+ /* usage */ core::ParameterUsage::kX,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [361] */
+ /* usage */ core::ParameterUsage::kY,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [362] */
+ /* usage */ core::ParameterUsage::kZw,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [363] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [364] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [365] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(170),
+ },
+ {
+ /* [366] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(185),
+ },
+ {
+ /* [367] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(288),
+ },
+ {
+ /* [368] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [369] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(292),
+ },
+ {
+ /* [370] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [371] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(294),
+ },
+ {
+ /* [372] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [373] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(296),
+ },
+ {
+ /* [374] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [375] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(298),
+ },
+ {
+ /* [376] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [377] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(300),
+ },
+ {
+ /* [378] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(24),
+ },
+ {
+ /* [379] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(386),
+ },
+ {
+ /* [380] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [381] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(387),
+ },
+ {
+ /* [382] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [383] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(388),
+ },
+ {
+ /* [384] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [385] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(389),
+ },
+ {
+ /* [386] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [387] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(391),
+ },
+ {
+ /* [388] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [389] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(239),
+ },
+ {
+ /* [390] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [391] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(242),
+ },
+ {
+ /* [392] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [393] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(245),
+ },
+ {
+ /* [394] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [395] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(248),
+ },
+ {
+ /* [396] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [397] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(251),
+ },
+ {
+ /* [398] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [399] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(254),
+ },
+ {
+ /* [400] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [401] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(266),
+ },
+ {
+ /* [402] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(5),
+ },
+ {
+ /* [403] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(269),
+ },
+ {
+ /* [404] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(5),
+ },
+ {
+ /* [405] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(272),
+ },
+ {
+ /* [406] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(5),
+ },
+ {
+ /* [407] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [408] */
+ /* usage */ core::ParameterUsage::kSourceLaneIndex,
+ /* matcher_indices */ MatcherIndicesIndex(382),
+ },
+ {
+ /* [409] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(170),
+ },
+ {
+ /* [410] */
+ /* usage */ core::ParameterUsage::kSourceLaneIndex,
+ /* matcher_indices */ MatcherIndicesIndex(382),
+ },
+ {
+ /* [411] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [412] */
+ /* usage */ core::ParameterUsage::kMask,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [413] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(170),
+ },
+ {
+ /* [414] */
+ /* usage */ core::ParameterUsage::kMask,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [415] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [416] */
+ /* usage */ core::ParameterUsage::kDelta,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [417] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(170),
+ },
+ {
+ /* [418] */
+ /* usage */ core::ParameterUsage::kDelta,
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ },
+ {
+ /* [419] */
+ /* usage */ core::ParameterUsage::kE,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [420] */
+ /* usage */ core::ParameterUsage::kId,
+ /* matcher_indices */ MatcherIndicesIndex(382),
+ },
+ {
+ /* [421] */
+ /* usage */ core::ParameterUsage::kE,
+ /* matcher_indices */ MatcherIndicesIndex(170),
+ },
+ {
+ /* [422] */
+ /* usage */ core::ParameterUsage::kId,
+ /* matcher_indices */ MatcherIndicesIndex(382),
+ },
+ {
+ /* [423] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(102),
+ },
+ {
+ /* [424] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(107),
+ },
+ {
+ /* [425] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(176),
+ },
+ {
+ /* [426] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [427] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(176),
+ },
+ {
+ /* [428] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(281),
+ },
+ {
+ /* [429] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(154),
+ },
+ {
+ /* [430] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(154),
+ },
+ {
+ /* [431] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [432] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(154),
+ },
+ {
+ /* [433] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(176),
+ },
+ {
+ /* [434] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(275),
+ },
+ {
+ /* [435] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(154),
+ },
+ {
+ /* [436] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(162),
+ },
+ {
+ /* [437] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(166),
+ },
+ {
+ /* [438] */
+ /* usage */ core::ParameterUsage::kXy,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [439] */
+ /* usage */ core::ParameterUsage::kZw,
+ /* matcher_indices */ MatcherIndicesIndex(318),
+ },
+ {
+ /* [440] */
+ /* usage */ core::ParameterUsage::kXyz,
+ /* matcher_indices */ MatcherIndicesIndex(5),
+ },
+ {
+ /* [441] */
+ /* usage */ core::ParameterUsage::kW,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [442] */
+ /* usage */ core::ParameterUsage::kX,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [443] */
+ /* usage */ core::ParameterUsage::kZyw,
+ /* matcher_indices */ MatcherIndicesIndex(5),
+ },
+ {
+ /* [444] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(42),
+ },
+ {
+ /* [445] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(142),
+ },
+ {
/* [446] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(20),
},
{
/* [447] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(322),
+ /* matcher_indices */ MatcherIndicesIndex(179),
},
{
/* [448] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(324),
+ /* matcher_indices */ MatcherIndicesIndex(51),
},
{
/* [449] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(326),
+ /* matcher_indices */ MatcherIndicesIndex(26),
},
{
/* [450] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(328),
+ /* matcher_indices */ MatcherIndicesIndex(33),
},
{
/* [451] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(330),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [452] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(332),
+ /* matcher_indices */ MatcherIndicesIndex(150),
},
{
/* [453] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(191),
+ },
+ {
+ /* [454] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(194),
+ },
+ {
+ /* [455] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(197),
+ },
+ {
+ /* [456] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(200),
+ },
+ {
+ /* [457] */
+ /* usage */ core::ParameterUsage::kInputAttachment,
+ /* matcher_indices */ MatcherIndicesIndex(322),
+ },
+ {
+ /* [458] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [459] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(331),
+ },
+ {
+ /* [460] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(320),
+ },
+ {
+ /* [461] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(68),
+ },
+ {
+ /* [462] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(90),
+ },
+ {
+ /* [463] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(326),
+ },
+ {
+ /* [464] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(328),
+ },
+ {
+ /* [465] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(330),
+ },
+ {
+ /* [466] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(332),
+ },
+ {
+ /* [467] */
/* usage */ core::ParameterUsage::kNone,
/* matcher_indices */ MatcherIndicesIndex(334),
},
+ {
+ /* [468] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(336),
+ },
+ {
+ /* [469] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(338),
+ },
+ {
+ /* [470] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(340),
+ },
+ {
+ /* [471] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(342),
+ },
+ {
+ /* [472] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(344),
+ },
+ {
+ /* [473] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(346),
+ },
+ {
+ /* [474] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(348),
+ },
+ {
+ /* [475] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(350),
+ },
+ {
+ /* [476] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(352),
+ },
+ {
+ /* [477] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(354),
+ },
+ {
+ /* [478] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(356),
+ },
+ {
+ /* [479] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(358),
+ },
+ {
+ /* [480] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(360),
+ },
+ {
+ /* [481] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(362),
+ },
+ {
+ /* [482] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(364),
+ },
+ {
+ /* [483] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(366),
+ },
+ {
+ /* [484] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(368),
+ },
+ {
+ /* [485] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(370),
+ },
+ {
+ /* [486] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(372),
+ },
+ {
+ /* [487] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(374),
+ },
+ {
+ /* [488] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(376),
+ },
+ {
+ /* [489] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(378),
+ },
};
static_assert(ParameterIndex::CanIndex(kParameters),
@@ -4361,7 +4585,7 @@
{
/* [0] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(25),
+ /* matcher_indices */ MatcherIndicesIndex(53),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -4373,7 +4597,7 @@
{
/* [2] */
/* name */ "S",
- /* matcher_indices */ MatcherIndicesIndex(336),
+ /* matcher_indices */ MatcherIndicesIndex(380),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -4396,321 +4620,321 @@
},
{
/* [6] */
- /* name */ "TR",
- /* matcher_indices */ MatcherIndicesIndex(350),
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(53),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [7] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(350),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [8] */
- /* name */ "C",
+ /* name */ "K",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
+ /* [8] */
+ /* name */ "S",
+ /* matcher_indices */ MatcherIndicesIndex(108),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
/* [9] */
- /* name */ "R",
+ /* name */ "C",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [10] */
- /* name */ "K",
+ /* name */ "R",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [11] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(350),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "AC",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [12] */
- /* name */ "TR",
- /* matcher_indices */ MatcherIndicesIndex(350),
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(53),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [13] */
- /* name */ "C",
+ /* name */ "K",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [14] */
- /* name */ "R",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kNumber,
+ /* name */ "S",
+ /* matcher_indices */ MatcherIndicesIndex(98),
+ /* kind */ TemplateInfo::Kind::kType,
},
{
/* [15] */
- /* name */ "K",
+ /* name */ "C",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [16] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(341),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "R",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [17] */
- /* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(338),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "AC",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [18] */
- /* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(338),
+ /* name */ "TR",
+ /* matcher_indices */ MatcherIndicesIndex(394),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [19] */
- /* name */ "L",
- /* matcher_indices */ MatcherIndicesIndex(338),
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(394),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [20] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(337),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [21] */
- /* name */ "K",
+ /* name */ "R",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [22] */
- /* name */ "C",
+ /* name */ "K",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [23] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(394),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [24] */
+ /* name */ "TR",
+ /* matcher_indices */ MatcherIndicesIndex(394),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [25] */
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [26] */
/* name */ "R",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
- /* [24] */
- /* name */ "N",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [25] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(337),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [26] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(41),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
/* [27] */
- /* name */ "M",
+ /* name */ "K",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [28] */
- /* name */ "N",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kNumber,
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(385),
+ /* kind */ TemplateInfo::Kind::kType,
},
{
/* [29] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(337),
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(382),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [30] */
+ /* name */ "A",
+ /* matcher_indices */ MatcherIndicesIndex(382),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [31] */
+ /* name */ "L",
+ /* matcher_indices */ MatcherIndicesIndex(382),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [32] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(381),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [33] */
+ /* name */ "K",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [34] */
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [35] */
+ /* name */ "R",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [36] */
/* name */ "N",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
- /* [31] */
+ /* [37] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(381),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [38] */
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [39] */
/* name */ "M",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
- /* [32] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(341),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [33] */
- /* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(338),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [34] */
- /* name */ "L",
- /* matcher_indices */ MatcherIndicesIndex(338),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [35] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(341),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [36] */
- /* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(338),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [37] */
- /* name */ "S",
- /* matcher_indices */ MatcherIndicesIndex(338),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [38] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(337),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [39] */
- /* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
/* [40] */
- /* name */ "R",
+ /* name */ "N",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [41] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(350),
+ /* matcher_indices */ MatcherIndicesIndex(381),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [42] */
- /* name */ "K",
+ /* name */ "N",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [43] */
- /* name */ "R",
+ /* name */ "M",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [44] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(350),
+ /* matcher_indices */ MatcherIndicesIndex(385),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [45] */
/* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(382),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [46] */
+ /* name */ "L",
+ /* matcher_indices */ MatcherIndicesIndex(382),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [47] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(385),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [48] */
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(382),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [49] */
+ /* name */ "S",
+ /* matcher_indices */ MatcherIndicesIndex(382),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [50] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(381),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [51] */
+ /* name */ "C",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
- /* [46] */
+ /* [52] */
+ /* name */ "R",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [53] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(394),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [54] */
/* name */ "K",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
- /* [47] */
- /* name */ "N",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [48] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(336),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [49] */
- /* name */ "N",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [50] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(338),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [51] */
- /* name */ "S",
- /* matcher_indices */ MatcherIndicesIndex(1),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [52] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [53] */
- /* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [54] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(339),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
/* [55] */
- /* name */ "N",
+ /* name */ "R",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [56] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(339),
+ /* matcher_indices */ MatcherIndicesIndex(394),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [57] */
- /* name */ "N",
+ /* name */ "C",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [58] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(340),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "K",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [59] */
@@ -4721,127 +4945,199 @@
{
/* [60] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(341),
+ /* matcher_indices */ MatcherIndicesIndex(380),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [61] */
- /* name */ "L",
- /* matcher_indices */ MatcherIndicesIndex(338),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [62] */
- /* name */ "F",
+ /* name */ "N",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
+ /* [62] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(382),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
/* [63] */
- /* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* name */ "S",
+ /* matcher_indices */ MatcherIndicesIndex(1),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [64] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(338),
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [65] */
- /* name */ "N",
+ /* name */ "A",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [66] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(383),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [67] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(353),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "N",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [68] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(287),
+ /* matcher_indices */ MatcherIndicesIndex(383),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [69] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(354),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "N",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [70] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(41),
+ /* matcher_indices */ MatcherIndicesIndex(384),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [71] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(351),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "N",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [72] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(35),
+ /* matcher_indices */ MatcherIndicesIndex(385),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [73] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(352),
+ /* name */ "L",
+ /* matcher_indices */ MatcherIndicesIndex(382),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [74] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(53),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "F",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [75] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(355),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "A",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [76] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(351),
+ /* matcher_indices */ MatcherIndicesIndex(382),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [77] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(352),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "N",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [78] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(353),
+ /* matcher_indices */ MatcherIndicesIndex(20),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [79] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(354),
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(397),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [80] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(355),
+ /* matcher_indices */ MatcherIndicesIndex(331),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [81] */
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(398),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [82] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [83] */
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(395),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [84] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [85] */
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(396),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [86] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [87] */
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(399),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [88] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(395),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [89] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(396),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [90] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(397),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [91] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(398),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [92] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(399),
/* kind */ TemplateInfo::Kind::kType,
},
};
@@ -4975,9 +5271,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(288),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(324),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4986,9 +5282,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(60),
- /* parameters */ ParameterIndex(331),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* templates */ TemplateIndex(72),
+ /* parameters */ ParameterIndex(367),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4997,9 +5293,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(16),
+ /* templates */ TemplateIndex(28),
/* parameters */ ParameterIndex(75),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5008,9 +5304,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(60),
- /* parameters */ ParameterIndex(333),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* templates */ TemplateIndex(72),
+ /* parameters */ ParameterIndex(369),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5019,9 +5315,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(16),
+ /* templates */ TemplateIndex(28),
/* parameters */ ParameterIndex(27),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5030,9 +5326,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(60),
- /* parameters */ ParameterIndex(335),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* templates */ TemplateIndex(72),
+ /* parameters */ ParameterIndex(371),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5041,9 +5337,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(294),
- /* return_matcher_indices */ MatcherIndicesIndex(34),
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(330),
+ /* return_matcher_indices */ MatcherIndicesIndex(12),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5052,9 +5348,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(60),
- /* parameters */ ParameterIndex(337),
- /* return_matcher_indices */ MatcherIndicesIndex(34),
+ /* templates */ TemplateIndex(72),
+ /* parameters */ ParameterIndex(373),
+ /* return_matcher_indices */ MatcherIndicesIndex(12),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5063,9 +5359,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(164),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(184),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5074,9 +5370,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(60),
- /* parameters */ ParameterIndex(339),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* templates */ TemplateIndex(72),
+ /* parameters */ ParameterIndex(375),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5085,9 +5381,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(16),
+ /* templates */ TemplateIndex(28),
/* parameters */ ParameterIndex(80),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5096,9 +5392,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(60),
- /* parameters */ ParameterIndex(341),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* templates */ TemplateIndex(72),
+ /* parameters */ ParameterIndex(377),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5107,9 +5403,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(297),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(333),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5120,7 +5416,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5129,9 +5425,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
- /* parameters */ ParameterIndex(343),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* templates */ TemplateIndex(31),
+ /* parameters */ ParameterIndex(379),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5142,7 +5438,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5151,9 +5447,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
- /* parameters */ ParameterIndex(345),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* templates */ TemplateIndex(31),
+ /* parameters */ ParameterIndex(381),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5163,8 +5459,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(171),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* parameters */ ParameterIndex(191),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5173,9 +5469,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
- /* parameters */ ParameterIndex(347),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* templates */ TemplateIndex(31),
+ /* parameters */ ParameterIndex(383),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5186,7 +5482,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(94),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5195,9 +5491,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
- /* parameters */ ParameterIndex(349),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* templates */ TemplateIndex(31),
+ /* parameters */ ParameterIndex(385),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5207,8 +5503,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(303),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* parameters */ ParameterIndex(339),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5217,9 +5513,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(62),
- /* parameters */ ParameterIndex(417),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* templates */ TemplateIndex(74),
+ /* parameters */ ParameterIndex(453),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5228,9 +5524,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(62),
- /* parameters */ ParameterIndex(418),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* templates */ TemplateIndex(74),
+ /* parameters */ ParameterIndex(454),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5239,9 +5535,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(62),
- /* parameters */ ParameterIndex(419),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* templates */ TemplateIndex(74),
+ /* parameters */ ParameterIndex(455),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5250,9 +5546,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(62),
- /* parameters */ ParameterIndex(420),
- /* return_matcher_indices */ MatcherIndicesIndex(34),
+ /* templates */ TemplateIndex(74),
+ /* parameters */ ParameterIndex(456),
+ /* return_matcher_indices */ MatcherIndicesIndex(12),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5262,8 +5558,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(258),
- /* return_matcher_indices */ MatcherIndicesIndex(246),
+ /* parameters */ ParameterIndex(294),
+ /* return_matcher_indices */ MatcherIndicesIndex(290),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5272,9 +5568,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(32),
- /* parameters */ ParameterIndex(288),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(44),
+ /* parameters */ ParameterIndex(324),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5283,9 +5579,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(32),
- /* parameters */ ParameterIndex(291),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(44),
+ /* parameters */ ParameterIndex(327),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5294,9 +5590,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 4,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(207),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(227),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5305,9 +5601,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(32),
- /* parameters */ ParameterIndex(294),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(44),
+ /* parameters */ ParameterIndex(330),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5316,9 +5612,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(35),
- /* parameters */ ParameterIndex(297),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(47),
+ /* parameters */ ParameterIndex(333),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5327,9 +5623,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(33),
- /* parameters */ ParameterIndex(300),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* templates */ TemplateIndex(45),
+ /* parameters */ ParameterIndex(336),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5338,9 +5634,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(211),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(231),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5349,9 +5645,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(36),
- /* parameters */ ParameterIndex(303),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* templates */ TemplateIndex(48),
+ /* parameters */ ParameterIndex(339),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5360,9 +5656,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(351),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(387),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5371,9 +5667,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(353),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(389),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5382,9 +5678,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(355),
- /* return_matcher_indices */ MatcherIndicesIndex(40),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(391),
+ /* return_matcher_indices */ MatcherIndicesIndex(33),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5393,9 +5689,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(357),
- /* return_matcher_indices */ MatcherIndicesIndex(155),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(393),
+ /* return_matcher_indices */ MatcherIndicesIndex(40),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5404,9 +5700,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(359),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(395),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5415,9 +5711,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(361),
- /* return_matcher_indices */ MatcherIndicesIndex(40),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(397),
+ /* return_matcher_indices */ MatcherIndicesIndex(33),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5426,9 +5722,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(363),
- /* return_matcher_indices */ MatcherIndicesIndex(155),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(399),
+ /* return_matcher_indices */ MatcherIndicesIndex(40),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5437,9 +5733,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(306),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(342),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5448,9 +5744,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(309),
- /* return_matcher_indices */ MatcherIndicesIndex(40),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(345),
+ /* return_matcher_indices */ MatcherIndicesIndex(33),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5459,9 +5755,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(312),
- /* return_matcher_indices */ MatcherIndicesIndex(155),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(348),
+ /* return_matcher_indices */ MatcherIndicesIndex(40),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5470,9 +5766,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(365),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(401),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5481,9 +5777,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(367),
- /* return_matcher_indices */ MatcherIndicesIndex(40),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(403),
+ /* return_matcher_indices */ MatcherIndicesIndex(33),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5492,9 +5788,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(369),
- /* return_matcher_indices */ MatcherIndicesIndex(155),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(405),
+ /* return_matcher_indices */ MatcherIndicesIndex(40),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5504,8 +5800,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(255),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* parameters */ ParameterIndex(291),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5516,7 +5812,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(44),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5526,8 +5822,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(175),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* parameters */ ParameterIndex(195),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5536,9 +5832,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(19),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5547,9 +5843,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(99),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5560,7 +5856,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(50),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5570,8 +5866,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(179),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* parameters */ ParameterIndex(199),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5582,7 +5878,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(119),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5591,9 +5887,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(56),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5604,7 +5900,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(139),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5614,8 +5910,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(167),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* parameters */ ParameterIndex(187),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5624,9 +5920,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(68),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5635,9 +5931,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(84),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5647,8 +5943,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(191),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* parameters */ ParameterIndex(211),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5657,9 +5953,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(144),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5668,9 +5964,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(105),
},
{
@@ -5679,9 +5975,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(235),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(271),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(106),
},
{
@@ -5690,9 +5986,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -5701,9 +5997,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(223),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(259),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(109),
},
{
@@ -5712,9 +6008,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(318),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(354),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -5723,9 +6019,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(321),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(357),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -5734,9 +6030,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(324),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(360),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -5745,9 +6041,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(402),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(438),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -5756,9 +6052,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(404),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(440),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -5767,9 +6063,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(406),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(442),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -5778,9 +6074,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(66),
- /* parameters */ ParameterIndex(426),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(78),
+ /* parameters */ ParameterIndex(462),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -5789,9 +6085,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(68),
- /* parameters */ ParameterIndex(426),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(80),
+ /* parameters */ ParameterIndex(462),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -5800,9 +6096,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(70),
- /* parameters */ ParameterIndex(426),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(82),
+ /* parameters */ ParameterIndex(462),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -5811,9 +6107,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(72),
- /* parameters */ ParameterIndex(426),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(84),
+ /* parameters */ ParameterIndex(462),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -5822,9 +6118,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(74),
- /* parameters */ ParameterIndex(426),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(86),
+ /* parameters */ ParameterIndex(462),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -5835,7 +6131,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(124),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5846,7 +6142,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(124),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5855,9 +6151,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(62),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5866,9 +6162,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(62),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5879,7 +6175,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(129),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5890,7 +6186,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(129),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5900,8 +6196,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(187),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* parameters */ ParameterIndex(207),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5910,9 +6206,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(134),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5921,9 +6217,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(139),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5932,9 +6228,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(139),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5943,9 +6239,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(68),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5954,9 +6250,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(68),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5965,9 +6261,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
- /* parameters */ ParameterIndex(191),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* templates */ TemplateIndex(31),
+ /* parameters */ ParameterIndex(211),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5976,9 +6272,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(144),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5987,9 +6283,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(16),
+ /* templates */ TemplateIndex(28),
/* parameters */ ParameterIndex(74),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5998,9 +6294,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(16),
+ /* templates */ TemplateIndex(28),
/* parameters */ ParameterIndex(74),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6009,9 +6305,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(16),
+ /* templates */ TemplateIndex(28),
/* parameters */ ParameterIndex(26),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6020,9 +6316,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(16),
+ /* templates */ TemplateIndex(28),
/* parameters */ ParameterIndex(26),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6031,9 +6327,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(163),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(183),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6042,9 +6338,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(16),
+ /* templates */ TemplateIndex(28),
/* parameters */ ParameterIndex(79),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6055,7 +6351,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(139),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6065,8 +6361,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(167),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* parameters */ ParameterIndex(187),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6075,9 +6371,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(68),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6086,9 +6382,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(84),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6098,8 +6394,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(191),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* parameters */ ParameterIndex(211),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6108,9 +6404,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(144),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6119,8 +6415,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(261),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(297),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -6130,8 +6426,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(264),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(300),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -6141,8 +6437,8 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(195),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(215),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -6152,8 +6448,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(267),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(303),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -6163,8 +6459,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(270),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(306),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -6174,8 +6470,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(273),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(309),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -6185,8 +6481,8 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(199),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(219),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -6196,8 +6492,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(276),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(312),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -6207,8 +6503,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(279),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(315),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -6218,8 +6514,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(282),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(318),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -6229,8 +6525,8 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(203),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(223),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -6240,8 +6536,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(285),
+ /* templates */ TemplateIndex(29),
+ /* parameters */ ParameterIndex(321),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -6251,7 +6547,7 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(/* invalid */),
/* return_matcher_indices */ MatcherIndicesIndex(5),
/* const_eval_fn */ ConstEvalFunctionIndex(105),
@@ -6262,8 +6558,8 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(231),
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(267),
/* return_matcher_indices */ MatcherIndicesIndex(5),
/* const_eval_fn */ ConstEvalFunctionIndex(106),
},
@@ -6273,7 +6569,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(5),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
@@ -6284,8 +6580,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(223),
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(259),
/* return_matcher_indices */ MatcherIndicesIndex(5),
/* const_eval_fn */ ConstEvalFunctionIndex(109),
},
@@ -6295,8 +6591,8 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(318),
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(354),
/* return_matcher_indices */ MatcherIndicesIndex(5),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
@@ -6306,8 +6602,8 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(321),
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(357),
/* return_matcher_indices */ MatcherIndicesIndex(5),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
@@ -6317,8 +6613,8 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(66),
- /* parameters */ ParameterIndex(425),
+ /* templates */ TemplateIndex(78),
+ /* parameters */ ParameterIndex(461),
/* return_matcher_indices */ MatcherIndicesIndex(5),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
@@ -6328,8 +6624,8 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(68),
- /* parameters */ ParameterIndex(425),
+ /* templates */ TemplateIndex(80),
+ /* parameters */ ParameterIndex(461),
/* return_matcher_indices */ MatcherIndicesIndex(5),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
@@ -6339,8 +6635,8 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(70),
- /* parameters */ ParameterIndex(425),
+ /* templates */ TemplateIndex(82),
+ /* parameters */ ParameterIndex(461),
/* return_matcher_indices */ MatcherIndicesIndex(5),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
@@ -6350,8 +6646,8 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(72),
- /* parameters */ ParameterIndex(425),
+ /* templates */ TemplateIndex(84),
+ /* parameters */ ParameterIndex(461),
/* return_matcher_indices */ MatcherIndicesIndex(5),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
@@ -6361,8 +6657,8 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(74),
- /* parameters */ ParameterIndex(425),
+ /* templates */ TemplateIndex(86),
+ /* parameters */ ParameterIndex(461),
/* return_matcher_indices */ MatcherIndicesIndex(5),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
@@ -6372,9 +6668,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(288),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(324),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6383,9 +6679,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(16),
+ /* templates */ TemplateIndex(28),
/* parameters */ ParameterIndex(75),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6394,9 +6690,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(16),
+ /* templates */ TemplateIndex(28),
/* parameters */ ParameterIndex(27),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6405,9 +6701,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(294),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(330),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6416,9 +6712,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(164),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(184),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6427,9 +6723,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(16),
+ /* templates */ TemplateIndex(28),
/* parameters */ ParameterIndex(80),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6440,7 +6736,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6451,7 +6747,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6461,8 +6757,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(171),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* parameters */ ParameterIndex(191),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6473,7 +6769,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(94),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6482,7 +6778,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(48),
+ /* templates */ TemplateIndex(60),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(6),
/* const_eval_fn */ ConstEvalFunctionIndex(86),
@@ -6493,9 +6789,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
/* const_eval_fn */ ConstEvalFunctionIndex(86),
},
{
@@ -6504,9 +6800,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(389),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(425),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
/* const_eval_fn */ ConstEvalFunctionIndex(86),
},
{
@@ -6515,9 +6811,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(390),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(426),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
/* const_eval_fn */ ConstEvalFunctionIndex(86),
},
{
@@ -6526,9 +6822,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(395),
- /* return_matcher_indices */ MatcherIndicesIndex(104),
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(431),
+ /* return_matcher_indices */ MatcherIndicesIndex(154),
/* const_eval_fn */ ConstEvalFunctionIndex(86),
},
{
@@ -6537,9 +6833,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(394),
- /* return_matcher_indices */ MatcherIndicesIndex(104),
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(430),
+ /* return_matcher_indices */ MatcherIndicesIndex(154),
/* const_eval_fn */ ConstEvalFunctionIndex(86),
},
{
@@ -6548,9 +6844,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(38),
- /* parameters */ ParameterIndex(396),
- /* return_matcher_indices */ MatcherIndicesIndex(231),
+ /* templates */ TemplateIndex(50),
+ /* parameters */ ParameterIndex(432),
+ /* return_matcher_indices */ MatcherIndicesIndex(275),
/* const_eval_fn */ ConstEvalFunctionIndex(87),
},
{
@@ -6559,9 +6855,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(38),
- /* parameters */ ParameterIndex(398),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
+ /* templates */ TemplateIndex(50),
+ /* parameters */ ParameterIndex(434),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
/* const_eval_fn */ ConstEvalFunctionIndex(88),
},
{
@@ -6570,9 +6866,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 4,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(400),
- /* return_matcher_indices */ MatcherIndicesIndex(108),
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(436),
+ /* return_matcher_indices */ MatcherIndicesIndex(158),
/* const_eval_fn */ ConstEvalFunctionIndex(89),
},
{
@@ -6581,9 +6877,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(274),
+ /* return_matcher_indices */ MatcherIndicesIndex(318),
/* const_eval_fn */ ConstEvalFunctionIndex(105),
},
{
@@ -6592,9 +6888,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(227),
- /* return_matcher_indices */ MatcherIndicesIndex(274),
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(263),
+ /* return_matcher_indices */ MatcherIndicesIndex(318),
/* const_eval_fn */ ConstEvalFunctionIndex(106),
},
{
@@ -6603,9 +6899,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(274),
+ /* return_matcher_indices */ MatcherIndicesIndex(318),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -6614,9 +6910,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(223),
- /* return_matcher_indices */ MatcherIndicesIndex(274),
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(259),
+ /* return_matcher_indices */ MatcherIndicesIndex(318),
/* const_eval_fn */ ConstEvalFunctionIndex(109),
},
{
@@ -6625,9 +6921,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(66),
- /* parameters */ ParameterIndex(424),
- /* return_matcher_indices */ MatcherIndicesIndex(274),
+ /* templates */ TemplateIndex(78),
+ /* parameters */ ParameterIndex(460),
+ /* return_matcher_indices */ MatcherIndicesIndex(318),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -6636,9 +6932,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(68),
- /* parameters */ ParameterIndex(424),
- /* return_matcher_indices */ MatcherIndicesIndex(274),
+ /* templates */ TemplateIndex(80),
+ /* parameters */ ParameterIndex(460),
+ /* return_matcher_indices */ MatcherIndicesIndex(318),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -6647,9 +6943,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(70),
- /* parameters */ ParameterIndex(424),
- /* return_matcher_indices */ MatcherIndicesIndex(274),
+ /* templates */ TemplateIndex(82),
+ /* parameters */ ParameterIndex(460),
+ /* return_matcher_indices */ MatcherIndicesIndex(318),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -6658,9 +6954,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(72),
- /* parameters */ ParameterIndex(424),
- /* return_matcher_indices */ MatcherIndicesIndex(274),
+ /* templates */ TemplateIndex(84),
+ /* parameters */ ParameterIndex(460),
+ /* return_matcher_indices */ MatcherIndicesIndex(318),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -6669,9 +6965,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(74),
- /* parameters */ ParameterIndex(424),
- /* return_matcher_indices */ MatcherIndicesIndex(274),
+ /* templates */ TemplateIndex(86),
+ /* parameters */ ParameterIndex(460),
+ /* return_matcher_indices */ MatcherIndicesIndex(318),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -6682,7 +6978,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(104),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6693,7 +6989,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(104),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6702,9 +6998,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(38),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6713,9 +7009,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(38),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6726,7 +7022,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(109),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6737,7 +7033,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(109),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6747,8 +7043,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(183),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* parameters */ ParameterIndex(203),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6757,9 +7053,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(114),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6770,7 +7066,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(44),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6781,7 +7077,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(44),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6790,9 +7086,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(19),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6801,9 +7097,9 @@
/* num_parameters */ 7,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(19),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6814,7 +7110,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(50),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6825,7 +7121,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(50),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6836,7 +7132,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(119),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6845,9 +7141,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(56),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6858,7 +7154,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6869,7 +7165,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6878,9 +7174,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6889,9 +7185,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6901,8 +7197,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(171),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* parameters */ ParameterIndex(191),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6911,9 +7207,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(94),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6924,7 +7220,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6935,7 +7231,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6944,9 +7240,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6955,9 +7251,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6967,8 +7263,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(171),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* parameters */ ParameterIndex(191),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6977,9 +7273,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(94),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6990,7 +7286,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7001,7 +7297,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7010,9 +7306,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7021,9 +7317,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7033,8 +7329,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(171),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* parameters */ ParameterIndex(191),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7043,2565 +7339,79 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(18),
+ /* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(94),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [189] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(282),
- /* const_eval_fn */ ConstEvalFunctionIndex(105),
- },
- {
- /* [190] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(427),
- /* return_matcher_indices */ MatcherIndicesIndex(282),
- /* const_eval_fn */ ConstEvalFunctionIndex(106),
- },
- {
- /* [191] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(282),
- /* const_eval_fn */ ConstEvalFunctionIndex(111),
- },
- {
- /* [192] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(227),
- /* return_matcher_indices */ MatcherIndicesIndex(282),
- /* const_eval_fn */ ConstEvalFunctionIndex(112),
- },
- {
- /* [193] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(68),
- /* parameters */ ParameterIndex(428),
- /* return_matcher_indices */ MatcherIndicesIndex(282),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [194] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(66),
- /* parameters */ ParameterIndex(429),
- /* return_matcher_indices */ MatcherIndicesIndex(282),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [195] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(288),
- /* const_eval_fn */ ConstEvalFunctionIndex(105),
- },
- {
- /* [196] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(430),
- /* return_matcher_indices */ MatcherIndicesIndex(288),
- /* const_eval_fn */ ConstEvalFunctionIndex(106),
- },
- {
- /* [197] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(288),
- /* const_eval_fn */ ConstEvalFunctionIndex(111),
- },
- {
- /* [198] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(231),
- /* return_matcher_indices */ MatcherIndicesIndex(288),
- /* const_eval_fn */ ConstEvalFunctionIndex(112),
- },
- {
- /* [199] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(68),
- /* parameters */ ParameterIndex(431),
- /* return_matcher_indices */ MatcherIndicesIndex(288),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [200] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(66),
- /* parameters */ ParameterIndex(432),
- /* return_matcher_indices */ MatcherIndicesIndex(288),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [201] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(294),
- /* const_eval_fn */ ConstEvalFunctionIndex(105),
- },
- {
- /* [202] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(433),
- /* return_matcher_indices */ MatcherIndicesIndex(294),
- /* const_eval_fn */ ConstEvalFunctionIndex(106),
- },
- {
- /* [203] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 8,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(294),
- /* const_eval_fn */ ConstEvalFunctionIndex(111),
- },
- {
- /* [204] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(235),
- /* return_matcher_indices */ MatcherIndicesIndex(294),
- /* const_eval_fn */ ConstEvalFunctionIndex(112),
- },
- {
- /* [205] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(68),
- /* parameters */ ParameterIndex(434),
- /* return_matcher_indices */ MatcherIndicesIndex(294),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [206] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(66),
- /* parameters */ ParameterIndex(435),
- /* return_matcher_indices */ MatcherIndicesIndex(294),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [207] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(300),
- /* const_eval_fn */ ConstEvalFunctionIndex(105),
- },
- {
- /* [208] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(436),
- /* return_matcher_indices */ MatcherIndicesIndex(300),
- /* const_eval_fn */ ConstEvalFunctionIndex(106),
- },
- {
- /* [209] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(300),
- /* const_eval_fn */ ConstEvalFunctionIndex(111),
- },
- {
- /* [210] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(227),
- /* return_matcher_indices */ MatcherIndicesIndex(300),
- /* const_eval_fn */ ConstEvalFunctionIndex(112),
- },
- {
- /* [211] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(68),
- /* parameters */ ParameterIndex(437),
- /* return_matcher_indices */ MatcherIndicesIndex(300),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [212] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(66),
- /* parameters */ ParameterIndex(438),
- /* return_matcher_indices */ MatcherIndicesIndex(300),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [213] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(306),
- /* const_eval_fn */ ConstEvalFunctionIndex(105),
- },
- {
- /* [214] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(439),
- /* return_matcher_indices */ MatcherIndicesIndex(306),
- /* const_eval_fn */ ConstEvalFunctionIndex(106),
- },
- {
- /* [215] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 9,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(306),
- /* const_eval_fn */ ConstEvalFunctionIndex(111),
- },
- {
- /* [216] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(231),
- /* return_matcher_indices */ MatcherIndicesIndex(306),
- /* const_eval_fn */ ConstEvalFunctionIndex(112),
- },
- {
- /* [217] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(68),
- /* parameters */ ParameterIndex(440),
- /* return_matcher_indices */ MatcherIndicesIndex(306),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [218] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(66),
- /* parameters */ ParameterIndex(441),
- /* return_matcher_indices */ MatcherIndicesIndex(306),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [219] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(312),
- /* const_eval_fn */ ConstEvalFunctionIndex(105),
- },
- {
- /* [220] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(442),
- /* return_matcher_indices */ MatcherIndicesIndex(312),
- /* const_eval_fn */ ConstEvalFunctionIndex(106),
- },
- {
- /* [221] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 12,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(312),
- /* const_eval_fn */ ConstEvalFunctionIndex(111),
- },
- {
- /* [222] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(235),
- /* return_matcher_indices */ MatcherIndicesIndex(312),
- /* const_eval_fn */ ConstEvalFunctionIndex(112),
- },
- {
- /* [223] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(68),
- /* parameters */ ParameterIndex(443),
- /* return_matcher_indices */ MatcherIndicesIndex(312),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [224] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(66),
- /* parameters */ ParameterIndex(444),
- /* return_matcher_indices */ MatcherIndicesIndex(312),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [225] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(318),
- /* const_eval_fn */ ConstEvalFunctionIndex(105),
- },
- {
- /* [226] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(445),
- /* return_matcher_indices */ MatcherIndicesIndex(318),
- /* const_eval_fn */ ConstEvalFunctionIndex(106),
- },
- {
- /* [227] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 8,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(318),
- /* const_eval_fn */ ConstEvalFunctionIndex(111),
- },
- {
- /* [228] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(227),
- /* return_matcher_indices */ MatcherIndicesIndex(318),
- /* const_eval_fn */ ConstEvalFunctionIndex(112),
- },
- {
- /* [229] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(68),
- /* parameters */ ParameterIndex(446),
- /* return_matcher_indices */ MatcherIndicesIndex(318),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [230] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(66),
- /* parameters */ ParameterIndex(447),
- /* return_matcher_indices */ MatcherIndicesIndex(318),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [231] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(324),
- /* const_eval_fn */ ConstEvalFunctionIndex(105),
- },
- {
- /* [232] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(448),
- /* return_matcher_indices */ MatcherIndicesIndex(324),
- /* const_eval_fn */ ConstEvalFunctionIndex(106),
- },
- {
- /* [233] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 12,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(324),
- /* const_eval_fn */ ConstEvalFunctionIndex(111),
- },
- {
- /* [234] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(231),
- /* return_matcher_indices */ MatcherIndicesIndex(324),
- /* const_eval_fn */ ConstEvalFunctionIndex(112),
- },
- {
- /* [235] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(68),
- /* parameters */ ParameterIndex(449),
- /* return_matcher_indices */ MatcherIndicesIndex(324),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [236] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(66),
- /* parameters */ ParameterIndex(450),
- /* return_matcher_indices */ MatcherIndicesIndex(324),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [237] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(330),
- /* const_eval_fn */ ConstEvalFunctionIndex(105),
- },
- {
- /* [238] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(451),
- /* return_matcher_indices */ MatcherIndicesIndex(330),
- /* const_eval_fn */ ConstEvalFunctionIndex(106),
- },
- {
- /* [239] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 16,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(330),
- /* const_eval_fn */ ConstEvalFunctionIndex(111),
- },
- {
- /* [240] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(235),
- /* return_matcher_indices */ MatcherIndicesIndex(330),
- /* const_eval_fn */ ConstEvalFunctionIndex(112),
- },
- {
- /* [241] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(68),
- /* parameters */ ParameterIndex(452),
- /* return_matcher_indices */ MatcherIndicesIndex(330),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [242] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 1,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(66),
- /* parameters */ ParameterIndex(453),
- /* return_matcher_indices */ MatcherIndicesIndex(330),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [243] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(27),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [244] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(80),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [245] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [246] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(94),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [247] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(62),
- /* parameters */ ParameterIndex(419),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [248] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(84),
- },
- {
- /* [249] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(84),
- },
- {
- /* [250] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(389),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(84),
- },
- {
- /* [251] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(390),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(84),
- },
- {
- /* [252] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 3,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(393),
- /* return_matcher_indices */ MatcherIndicesIndex(104),
- /* const_eval_fn */ ConstEvalFunctionIndex(84),
- },
- {
- /* [253] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(85),
- },
- {
- /* [254] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(85),
- },
- {
- /* [255] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(389),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(85),
- },
- {
- /* [256] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(390),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(85),
- },
- {
- /* [257] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 3,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(393),
- /* return_matcher_indices */ MatcherIndicesIndex(104),
- /* const_eval_fn */ ConstEvalFunctionIndex(85),
- },
- {
- /* [258] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(90),
- },
- {
- /* [259] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(90),
- },
- {
- /* [260] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(389),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(90),
- },
- {
- /* [261] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(390),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(90),
- },
- {
- /* [262] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(91),
- },
- {
- /* [263] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(91),
- },
- {
- /* [264] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(389),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(91),
- },
- {
- /* [265] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(390),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(91),
- },
- {
- /* [266] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(242),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(93),
- },
- {
- /* [267] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(253),
- /* return_matcher_indices */ MatcherIndicesIndex(123),
- /* const_eval_fn */ ConstEvalFunctionIndex(93),
- },
- {
- /* [268] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(50),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(93),
- },
- {
- /* [269] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(93),
- },
- {
- /* [270] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(242),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(94),
- },
- {
- /* [271] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(253),
- /* return_matcher_indices */ MatcherIndicesIndex(123),
- /* const_eval_fn */ ConstEvalFunctionIndex(94),
- },
- {
- /* [272] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(50),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(94),
- },
- {
- /* [273] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(94),
- },
- {
- /* [274] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(42),
- },
- {
- /* [275] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(244),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(42),
- },
- {
- /* [276] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(245),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(42),
- },
- {
- /* [277] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(248),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(62),
- },
- {
- /* [278] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(240),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(62),
- },
- {
- /* [279] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(55),
- /* parameters */ ParameterIndex(251),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(63),
- },
- {
- /* [280] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(41),
- /* const_eval_fn */ ConstEvalFunctionIndex(105),
- },
- {
- /* [281] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(422),
- /* return_matcher_indices */ MatcherIndicesIndex(41),
- /* const_eval_fn */ ConstEvalFunctionIndex(106),
- },
- {
- /* [282] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(76),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(41),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [283] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(105),
- },
- {
- /* [284] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(106),
- },
- {
- /* [285] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(77),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [286] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(105),
- },
- {
- /* [287] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(410),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(106),
- },
- {
- /* [288] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(78),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [289] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(287),
- /* const_eval_fn */ ConstEvalFunctionIndex(105),
- },
- {
- /* [290] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(423),
- /* return_matcher_indices */ MatcherIndicesIndex(287),
- /* const_eval_fn */ ConstEvalFunctionIndex(106),
- },
- {
- /* [291] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(79),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(287),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [292] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(105),
- },
- {
- /* [293] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(152),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(106),
- },
- {
- /* [294] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(80),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [295] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(0),
- },
- {
- /* [296] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(47),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(0),
- },
- {
- /* [297] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(1),
- },
- {
- /* [298] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(1),
- },
- {
- /* [299] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(2),
- },
- {
- /* [300] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(2),
- },
- {
- /* [301] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(152),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(3),
- },
- {
- /* [302] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(253),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(3),
- },
- {
- /* [303] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(152),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(4),
- },
- {
- /* [304] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(253),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(4),
- },
- {
- /* [305] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(5),
- },
- {
- /* [306] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(5),
- },
- {
- /* [307] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(6),
- },
- {
- /* [308] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(6),
- },
- {
- /* [309] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(7),
- },
- {
- /* [310] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(7),
- },
- {
- /* [311] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(8),
- },
- {
- /* [312] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(8),
- },
- {
- /* [313] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(9),
- },
- {
- /* [314] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(9),
- },
- {
- /* [315] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(10),
- },
- {
- /* [316] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(10),
- },
- {
- /* [317] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(11),
- },
- {
- /* [318] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(11),
- },
- {
- /* [319] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(12),
- },
- {
- /* [320] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(12),
- },
- {
- /* [321] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(13),
- },
- {
- /* [322] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(13),
- },
- {
- /* [323] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(50),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(14),
- },
- {
- /* [324] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(49),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(14),
- },
- {
- /* [325] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(50),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(15),
- },
- {
- /* [326] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(49),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(15),
- },
- {
- /* [327] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(50),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(16),
- },
- {
- /* [328] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(49),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(16),
- },
- {
- /* [329] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(18),
- },
- {
- /* [330] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(18),
- },
- {
- /* [331] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(20),
- },
- {
- /* [332] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(10),
- /* const_eval_fn */ ConstEvalFunctionIndex(20),
- },
- {
- /* [333] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(410),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [334] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(411),
- /* return_matcher_indices */ MatcherIndicesIndex(129),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [335] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(24),
- },
- {
- /* [336] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(24),
- },
- {
- /* [337] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(25),
- },
- {
- /* [338] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(25),
- },
- {
- /* [339] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(50),
- /* parameters */ ParameterIndex(16),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(26),
- },
- {
- /* [340] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(49),
- /* parameters */ ParameterIndex(160),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(26),
- },
- {
- /* [341] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(50),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(28),
- },
- {
- /* [342] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(49),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(28),
- },
- {
- /* [343] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(50),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(29),
- },
- {
- /* [344] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(49),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(29),
- },
- {
- /* [345] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(30),
- },
- {
- /* [346] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(30),
- },
- {
- /* [347] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(31),
- },
- {
- /* [348] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(244),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(31),
- },
- {
- /* [349] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(32),
- },
- {
- /* [350] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(32),
- },
- {
- /* [351] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(240),
- /* const_eval_fn */ ConstEvalFunctionIndex(33),
- },
- {
- /* [352] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
- /* const_eval_fn */ ConstEvalFunctionIndex(33),
- },
- {
- /* [353] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(50),
- /* parameters */ ParameterIndex(15),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(34),
- },
- {
- /* [354] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(49),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(34),
- },
- {
- /* [355] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(35),
- },
- {
- /* [356] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(35),
- },
- {
- /* [357] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(25),
- /* parameters */ ParameterIndex(327),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(36),
- },
- {
- /* [358] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 3,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(329),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(36),
- },
- {
- /* [359] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(37),
- },
- {
- /* [360] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(10),
- /* const_eval_fn */ ConstEvalFunctionIndex(37),
- },
- {
- /* [361] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(38),
- },
- {
- /* [362] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(38),
- },
- {
- /* [363] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(39),
- },
- {
- /* [364] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(39),
- },
- {
- /* [365] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(40),
- },
- {
- /* [366] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(47),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(40),
- },
- {
- /* [367] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(41),
- },
- {
- /* [368] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(47),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(41),
- },
- {
- /* [369] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(242),
- /* const_eval_fn */ ConstEvalFunctionIndex(43),
- },
- {
- /* [370] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(138),
- /* const_eval_fn */ ConstEvalFunctionIndex(43),
- },
- {
- /* [371] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(54),
- },
- {
- /* [372] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(54),
- },
- {
- /* [373] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(410),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(55),
- },
- {
- /* [374] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(411),
- /* return_matcher_indices */ MatcherIndicesIndex(129),
- /* const_eval_fn */ ConstEvalFunctionIndex(55),
- },
- {
- /* [375] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(56),
- },
- {
- /* [376] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(56),
- },
- {
- /* [377] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(50),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(59),
- },
- {
- /* [378] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(49),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(59),
- },
- {
- /* [379] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(60),
- },
- {
- /* [380] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(60),
- },
- {
- /* [381] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(61),
- },
- {
- /* [382] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(61),
- },
- {
- /* [383] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(58),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(64),
- },
- {
- /* [384] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(64),
- },
- {
- /* [385] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(65),
- },
- {
- /* [386] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(65),
- },
- {
- /* [387] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(66),
- },
- {
- /* [388] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(66),
- },
- {
- /* [389] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(67),
- },
- {
- /* [390] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(244),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(67),
- },
- {
- /* [391] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(68),
- },
- {
- /* [392] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(68),
- },
- {
- /* [393] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(69),
- },
- {
- /* [394] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(69),
- },
- {
- /* [395] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(70),
- },
- {
- /* [396] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(70),
- },
- {
- /* [397] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(71),
- },
- {
- /* [398] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(71),
- },
- {
- /* [399] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [400] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [401] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(297),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [402] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(303),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [403] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(44),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [404] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(258),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [405] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(371),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [406] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(47),
- /* parameters */ ParameterIndex(373),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [407] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(371),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [408] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(47),
- /* parameters */ ParameterIndex(373),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [409] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(375),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [410] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(47),
- /* parameters */ ParameterIndex(377),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [411] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(379),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [412] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(47),
- /* parameters */ ParameterIndex(381),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [413] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(50),
- /* parameters */ ParameterIndex(371),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [414] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(49),
- /* parameters */ ParameterIndex(373),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [415] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(383),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [416] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(47),
- /* parameters */ ParameterIndex(385),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [417] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(383),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [418] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(47),
- /* parameters */ ParameterIndex(385),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [419] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 4,
/* num_explicit_templates */ 1,
/* num_templates */ 5,
/* templates */ TemplateIndex(0),
- /* parameters */ ParameterIndex(215),
+ /* parameters */ ParameterIndex(235),
/* return_matcher_indices */ MatcherIndicesIndex(6),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [420] */
+ /* [190] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 4,
/* num_explicit_templates */ 1,
/* num_templates */ 6,
/* templates */ TemplateIndex(0),
- /* parameters */ ParameterIndex(219),
+ /* parameters */ ParameterIndex(239),
/* return_matcher_indices */ MatcherIndicesIndex(6),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [421] */
+ /* [191] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 5,
+ /* templates */ TemplateIndex(6),
+ /* parameters */ ParameterIndex(243),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [192] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 5,
+ /* templates */ TemplateIndex(12),
+ /* parameters */ ParameterIndex(247),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [193] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 6,
+ /* templates */ TemplateIndex(6),
+ /* parameters */ ParameterIndex(251),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [194] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 6,
+ /* templates */ TemplateIndex(12),
+ /* parameters */ ParameterIndex(255),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [195] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
@@ -9612,7 +7422,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [422] */
+ /* [196] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
@@ -9623,158 +7433,2644 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
+ /* [197] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 5,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 4,
+ /* templates */ TemplateIndex(7),
+ /* parameters */ ParameterIndex(159),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [198] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 5,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 4,
+ /* templates */ TemplateIndex(13),
+ /* parameters */ ParameterIndex(164),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [199] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 5,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 5,
+ /* templates */ TemplateIndex(7),
+ /* parameters */ ParameterIndex(169),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [200] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 5,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 5,
+ /* templates */ TemplateIndex(13),
+ /* parameters */ ParameterIndex(174),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [201] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(326),
+ /* const_eval_fn */ ConstEvalFunctionIndex(105),
+ },
+ {
+ /* [202] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(463),
+ /* return_matcher_indices */ MatcherIndicesIndex(326),
+ /* const_eval_fn */ ConstEvalFunctionIndex(106),
+ },
+ {
+ /* [203] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(326),
+ /* const_eval_fn */ ConstEvalFunctionIndex(111),
+ },
+ {
+ /* [204] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(263),
+ /* return_matcher_indices */ MatcherIndicesIndex(326),
+ /* const_eval_fn */ ConstEvalFunctionIndex(112),
+ },
+ {
+ /* [205] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(80),
+ /* parameters */ ParameterIndex(464),
+ /* return_matcher_indices */ MatcherIndicesIndex(326),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [206] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(78),
+ /* parameters */ ParameterIndex(465),
+ /* return_matcher_indices */ MatcherIndicesIndex(326),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [207] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(332),
+ /* const_eval_fn */ ConstEvalFunctionIndex(105),
+ },
+ {
+ /* [208] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(466),
+ /* return_matcher_indices */ MatcherIndicesIndex(332),
+ /* const_eval_fn */ ConstEvalFunctionIndex(106),
+ },
+ {
+ /* [209] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 6,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(332),
+ /* const_eval_fn */ ConstEvalFunctionIndex(111),
+ },
+ {
+ /* [210] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(267),
+ /* return_matcher_indices */ MatcherIndicesIndex(332),
+ /* const_eval_fn */ ConstEvalFunctionIndex(112),
+ },
+ {
+ /* [211] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(80),
+ /* parameters */ ParameterIndex(467),
+ /* return_matcher_indices */ MatcherIndicesIndex(332),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [212] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(78),
+ /* parameters */ ParameterIndex(468),
+ /* return_matcher_indices */ MatcherIndicesIndex(332),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [213] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(338),
+ /* const_eval_fn */ ConstEvalFunctionIndex(105),
+ },
+ {
+ /* [214] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(469),
+ /* return_matcher_indices */ MatcherIndicesIndex(338),
+ /* const_eval_fn */ ConstEvalFunctionIndex(106),
+ },
+ {
+ /* [215] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 8,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(338),
+ /* const_eval_fn */ ConstEvalFunctionIndex(111),
+ },
+ {
+ /* [216] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(271),
+ /* return_matcher_indices */ MatcherIndicesIndex(338),
+ /* const_eval_fn */ ConstEvalFunctionIndex(112),
+ },
+ {
+ /* [217] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(80),
+ /* parameters */ ParameterIndex(470),
+ /* return_matcher_indices */ MatcherIndicesIndex(338),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [218] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(78),
+ /* parameters */ ParameterIndex(471),
+ /* return_matcher_indices */ MatcherIndicesIndex(338),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [219] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(344),
+ /* const_eval_fn */ ConstEvalFunctionIndex(105),
+ },
+ {
+ /* [220] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(472),
+ /* return_matcher_indices */ MatcherIndicesIndex(344),
+ /* const_eval_fn */ ConstEvalFunctionIndex(106),
+ },
+ {
+ /* [221] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 6,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(344),
+ /* const_eval_fn */ ConstEvalFunctionIndex(111),
+ },
+ {
+ /* [222] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(263),
+ /* return_matcher_indices */ MatcherIndicesIndex(344),
+ /* const_eval_fn */ ConstEvalFunctionIndex(112),
+ },
+ {
+ /* [223] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(80),
+ /* parameters */ ParameterIndex(473),
+ /* return_matcher_indices */ MatcherIndicesIndex(344),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [224] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(78),
+ /* parameters */ ParameterIndex(474),
+ /* return_matcher_indices */ MatcherIndicesIndex(344),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [225] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(350),
+ /* const_eval_fn */ ConstEvalFunctionIndex(105),
+ },
+ {
+ /* [226] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(475),
+ /* return_matcher_indices */ MatcherIndicesIndex(350),
+ /* const_eval_fn */ ConstEvalFunctionIndex(106),
+ },
+ {
+ /* [227] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 9,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(350),
+ /* const_eval_fn */ ConstEvalFunctionIndex(111),
+ },
+ {
+ /* [228] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(267),
+ /* return_matcher_indices */ MatcherIndicesIndex(350),
+ /* const_eval_fn */ ConstEvalFunctionIndex(112),
+ },
+ {
+ /* [229] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(80),
+ /* parameters */ ParameterIndex(476),
+ /* return_matcher_indices */ MatcherIndicesIndex(350),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [230] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(78),
+ /* parameters */ ParameterIndex(477),
+ /* return_matcher_indices */ MatcherIndicesIndex(350),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [231] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(356),
+ /* const_eval_fn */ ConstEvalFunctionIndex(105),
+ },
+ {
+ /* [232] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(478),
+ /* return_matcher_indices */ MatcherIndicesIndex(356),
+ /* const_eval_fn */ ConstEvalFunctionIndex(106),
+ },
+ {
+ /* [233] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 12,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(356),
+ /* const_eval_fn */ ConstEvalFunctionIndex(111),
+ },
+ {
+ /* [234] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(271),
+ /* return_matcher_indices */ MatcherIndicesIndex(356),
+ /* const_eval_fn */ ConstEvalFunctionIndex(112),
+ },
+ {
+ /* [235] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(80),
+ /* parameters */ ParameterIndex(479),
+ /* return_matcher_indices */ MatcherIndicesIndex(356),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [236] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(78),
+ /* parameters */ ParameterIndex(480),
+ /* return_matcher_indices */ MatcherIndicesIndex(356),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [237] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(362),
+ /* const_eval_fn */ ConstEvalFunctionIndex(105),
+ },
+ {
+ /* [238] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(481),
+ /* return_matcher_indices */ MatcherIndicesIndex(362),
+ /* const_eval_fn */ ConstEvalFunctionIndex(106),
+ },
+ {
+ /* [239] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 8,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(362),
+ /* const_eval_fn */ ConstEvalFunctionIndex(111),
+ },
+ {
+ /* [240] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(263),
+ /* return_matcher_indices */ MatcherIndicesIndex(362),
+ /* const_eval_fn */ ConstEvalFunctionIndex(112),
+ },
+ {
+ /* [241] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(80),
+ /* parameters */ ParameterIndex(482),
+ /* return_matcher_indices */ MatcherIndicesIndex(362),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [242] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(78),
+ /* parameters */ ParameterIndex(483),
+ /* return_matcher_indices */ MatcherIndicesIndex(362),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [243] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(368),
+ /* const_eval_fn */ ConstEvalFunctionIndex(105),
+ },
+ {
+ /* [244] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(484),
+ /* return_matcher_indices */ MatcherIndicesIndex(368),
+ /* const_eval_fn */ ConstEvalFunctionIndex(106),
+ },
+ {
+ /* [245] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 12,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(368),
+ /* const_eval_fn */ ConstEvalFunctionIndex(111),
+ },
+ {
+ /* [246] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(267),
+ /* return_matcher_indices */ MatcherIndicesIndex(368),
+ /* const_eval_fn */ ConstEvalFunctionIndex(112),
+ },
+ {
+ /* [247] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(80),
+ /* parameters */ ParameterIndex(485),
+ /* return_matcher_indices */ MatcherIndicesIndex(368),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [248] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(78),
+ /* parameters */ ParameterIndex(486),
+ /* return_matcher_indices */ MatcherIndicesIndex(368),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [249] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(374),
+ /* const_eval_fn */ ConstEvalFunctionIndex(105),
+ },
+ {
+ /* [250] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(487),
+ /* return_matcher_indices */ MatcherIndicesIndex(374),
+ /* const_eval_fn */ ConstEvalFunctionIndex(106),
+ },
+ {
+ /* [251] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 16,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(374),
+ /* const_eval_fn */ ConstEvalFunctionIndex(111),
+ },
+ {
+ /* [252] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(271),
+ /* return_matcher_indices */ MatcherIndicesIndex(374),
+ /* const_eval_fn */ ConstEvalFunctionIndex(112),
+ },
+ {
+ /* [253] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(80),
+ /* parameters */ ParameterIndex(488),
+ /* return_matcher_indices */ MatcherIndicesIndex(374),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [254] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(78),
+ /* parameters */ ParameterIndex(489),
+ /* return_matcher_indices */ MatcherIndicesIndex(374),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [255] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(27),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [256] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(80),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [257] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(32),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [258] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(94),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [259] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(74),
+ /* parameters */ ParameterIndex(455),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [260] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(84),
+ },
+ {
+ /* [261] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(84),
+ },
+ {
+ /* [262] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(425),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(84),
+ },
+ {
+ /* [263] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(426),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(84),
+ },
+ {
+ /* [264] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 3,
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(429),
+ /* return_matcher_indices */ MatcherIndicesIndex(154),
+ /* const_eval_fn */ ConstEvalFunctionIndex(84),
+ },
+ {
+ /* [265] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(85),
+ },
+ {
+ /* [266] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(85),
+ },
+ {
+ /* [267] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(425),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(85),
+ },
+ {
+ /* [268] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(426),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(85),
+ },
+ {
+ /* [269] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 3,
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(429),
+ /* return_matcher_indices */ MatcherIndicesIndex(154),
+ /* const_eval_fn */ ConstEvalFunctionIndex(85),
+ },
+ {
+ /* [270] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(90),
+ },
+ {
+ /* [271] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(90),
+ },
+ {
+ /* [272] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(425),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(90),
+ },
+ {
+ /* [273] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(426),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(90),
+ },
+ {
+ /* [274] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(91),
+ },
+ {
+ /* [275] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(91),
+ },
+ {
+ /* [276] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(425),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(91),
+ },
+ {
+ /* [277] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(426),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(91),
+ },
+ {
+ /* [278] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(278),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(93),
+ },
+ {
+ /* [279] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(289),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(93),
+ },
+ {
+ /* [280] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(62),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(93),
+ },
+ {
+ /* [281] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(93),
+ },
+ {
+ /* [282] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(278),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(94),
+ },
+ {
+ /* [283] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(289),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(94),
+ },
+ {
+ /* [284] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(62),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(94),
+ },
+ {
+ /* [285] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(94),
+ },
+ {
+ /* [286] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(42),
+ },
+ {
+ /* [287] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(280),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(42),
+ },
+ {
+ /* [288] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(281),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(42),
+ },
+ {
+ /* [289] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(284),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(62),
+ },
+ {
+ /* [290] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(276),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(62),
+ },
+ {
+ /* [291] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(67),
+ /* parameters */ ParameterIndex(287),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(63),
+ },
+ {
+ /* [292] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* const_eval_fn */ ConstEvalFunctionIndex(105),
+ },
+ {
+ /* [293] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(458),
+ /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* const_eval_fn */ ConstEvalFunctionIndex(106),
+ },
+ {
+ /* [294] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(88),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [295] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(105),
+ },
+ {
+ /* [296] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(17),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(106),
+ },
+ {
+ /* [297] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(89),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [298] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
+ /* const_eval_fn */ ConstEvalFunctionIndex(105),
+ },
+ {
+ /* [299] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(446),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
+ /* const_eval_fn */ ConstEvalFunctionIndex(106),
+ },
+ {
+ /* [300] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(90),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [301] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(331),
+ /* const_eval_fn */ ConstEvalFunctionIndex(105),
+ },
+ {
+ /* [302] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(459),
+ /* return_matcher_indices */ MatcherIndicesIndex(331),
+ /* const_eval_fn */ ConstEvalFunctionIndex(106),
+ },
+ {
+ /* [303] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(91),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(331),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [304] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(105),
+ },
+ {
+ /* [305] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(152),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(106),
+ },
+ {
+ /* [306] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(92),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [307] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(0),
+ },
+ {
+ /* [308] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(59),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(0),
+ },
+ {
+ /* [309] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(1),
+ },
+ {
+ /* [310] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(1),
+ },
+ {
+ /* [311] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(2),
+ },
+ {
+ /* [312] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(2),
+ },
+ {
+ /* [313] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(152),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(3),
+ },
+ {
+ /* [314] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(289),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(3),
+ },
+ {
+ /* [315] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(152),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(4),
+ },
+ {
+ /* [316] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(289),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(4),
+ },
+ {
+ /* [317] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(5),
+ },
+ {
+ /* [318] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(5),
+ },
+ {
+ /* [319] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(6),
+ },
+ {
+ /* [320] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(6),
+ },
+ {
+ /* [321] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(7),
+ },
+ {
+ /* [322] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(7),
+ },
+ {
+ /* [323] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(8),
+ },
+ {
+ /* [324] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(8),
+ },
+ {
+ /* [325] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(9),
+ },
+ {
+ /* [326] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(9),
+ },
+ {
+ /* [327] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(10),
+ },
+ {
+ /* [328] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(10),
+ },
+ {
+ /* [329] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(11),
+ },
+ {
+ /* [330] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(11),
+ },
+ {
+ /* [331] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(12),
+ },
+ {
+ /* [332] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(12),
+ },
+ {
+ /* [333] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(13),
+ },
+ {
+ /* [334] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(13),
+ },
+ {
+ /* [335] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(62),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(14),
+ },
+ {
+ /* [336] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(61),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(14),
+ },
+ {
+ /* [337] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(62),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(15),
+ },
+ {
+ /* [338] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(61),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(15),
+ },
+ {
+ /* [339] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(62),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(16),
+ },
+ {
+ /* [340] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(61),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(16),
+ },
+ {
+ /* [341] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(18),
+ },
+ {
+ /* [342] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(18),
+ },
+ {
+ /* [343] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(20),
+ },
+ {
+ /* [344] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(24),
+ /* const_eval_fn */ ConstEvalFunctionIndex(20),
+ },
+ {
+ /* [345] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(446),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [346] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(447),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [347] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(24),
+ },
+ {
+ /* [348] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(24),
+ },
+ {
+ /* [349] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(25),
+ },
+ {
+ /* [350] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(25),
+ },
+ {
+ /* [351] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(62),
+ /* parameters */ ParameterIndex(16),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(26),
+ },
+ {
+ /* [352] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(61),
+ /* parameters */ ParameterIndex(180),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(26),
+ },
+ {
+ /* [353] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(62),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(28),
+ },
+ {
+ /* [354] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(61),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(28),
+ },
+ {
+ /* [355] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(62),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(29),
+ },
+ {
+ /* [356] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(61),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(29),
+ },
+ {
+ /* [357] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(30),
+ },
+ {
+ /* [358] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(30),
+ },
+ {
+ /* [359] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(31),
+ },
+ {
+ /* [360] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(280),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(31),
+ },
+ {
+ /* [361] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(32),
+ },
+ {
+ /* [362] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(32),
+ },
+ {
+ /* [363] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(284),
+ /* const_eval_fn */ ConstEvalFunctionIndex(33),
+ },
+ {
+ /* [364] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(182),
+ /* const_eval_fn */ ConstEvalFunctionIndex(33),
+ },
+ {
+ /* [365] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(62),
+ /* parameters */ ParameterIndex(15),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(34),
+ },
+ {
+ /* [366] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(61),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(34),
+ },
+ {
+ /* [367] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(35),
+ },
+ {
+ /* [368] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(35),
+ },
+ {
+ /* [369] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(37),
+ /* parameters */ ParameterIndex(363),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(36),
+ },
+ {
+ /* [370] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 3,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(365),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(36),
+ },
+ {
+ /* [371] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(37),
+ },
+ {
+ /* [372] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(24),
+ /* const_eval_fn */ ConstEvalFunctionIndex(37),
+ },
+ {
+ /* [373] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(38),
+ },
+ {
+ /* [374] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(38),
+ },
+ {
+ /* [375] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(39),
+ },
+ {
+ /* [376] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(39),
+ },
+ {
+ /* [377] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(40),
+ },
+ {
+ /* [378] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(59),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(40),
+ },
+ {
+ /* [379] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(41),
+ },
+ {
+ /* [380] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(59),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(41),
+ },
+ {
+ /* [381] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(286),
+ /* const_eval_fn */ ConstEvalFunctionIndex(43),
+ },
+ {
+ /* [382] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(188),
+ /* const_eval_fn */ ConstEvalFunctionIndex(43),
+ },
+ {
+ /* [383] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(54),
+ },
+ {
+ /* [384] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(54),
+ },
+ {
+ /* [385] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(446),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
+ /* const_eval_fn */ ConstEvalFunctionIndex(55),
+ },
+ {
+ /* [386] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(447),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(55),
+ },
+ {
+ /* [387] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(56),
+ },
+ {
+ /* [388] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(56),
+ },
+ {
+ /* [389] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(62),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(59),
+ },
+ {
+ /* [390] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(61),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(59),
+ },
+ {
+ /* [391] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(60),
+ },
+ {
+ /* [392] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(60),
+ },
+ {
+ /* [393] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(61),
+ },
+ {
+ /* [394] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(61),
+ },
+ {
+ /* [395] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(70),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(64),
+ },
+ {
+ /* [396] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(64),
+ },
+ {
+ /* [397] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(65),
+ },
+ {
+ /* [398] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(65),
+ },
+ {
+ /* [399] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(66),
+ },
+ {
+ /* [400] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(66),
+ },
+ {
+ /* [401] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(67),
+ },
+ {
+ /* [402] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(280),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(67),
+ },
+ {
+ /* [403] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(68),
+ },
+ {
+ /* [404] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(68),
+ },
+ {
+ /* [405] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(69),
+ },
+ {
+ /* [406] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(69),
+ },
+ {
+ /* [407] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(70),
+ },
+ {
+ /* [408] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(70),
+ },
+ {
+ /* [409] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(71),
+ },
+ {
+ /* [410] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(71),
+ },
+ {
+ /* [411] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(73),
+ },
+ {
+ /* [412] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(73),
+ },
+ {
+ /* [413] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(333),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [414] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(339),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [415] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(44),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [416] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(294),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [417] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(407),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [418] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(59),
+ /* parameters */ ParameterIndex(409),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [419] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(407),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [420] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(59),
+ /* parameters */ ParameterIndex(409),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [421] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(411),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [422] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(59),
+ /* parameters */ ParameterIndex(413),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
/* [423] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(415),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [424] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(59),
+ /* parameters */ ParameterIndex(417),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [425] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(62),
+ /* parameters */ ParameterIndex(407),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [426] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(61),
+ /* parameters */ ParameterIndex(409),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [427] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(419),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [428] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(59),
+ /* parameters */ ParameterIndex(421),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [429] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(419),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [430] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(59),
+ /* parameters */ ParameterIndex(421),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [431] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(152),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(81),
},
{
- /* [424] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(253),
- /* return_matcher_indices */ MatcherIndicesIndex(123),
- /* const_eval_fn */ ConstEvalFunctionIndex(81),
- },
- {
- /* [425] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(50),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(82),
- },
- {
- /* [426] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(82),
- },
- {
- /* [427] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(58),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(83),
- },
- {
- /* [428] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(58),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(83),
- },
- {
- /* [429] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(50),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(92),
- },
- {
- /* [430] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(92),
- },
- {
- /* [431] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(97),
- },
- {
/* [432] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(234),
- /* const_eval_fn */ ConstEvalFunctionIndex(97),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(289),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(81),
},
{
/* [433] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(54),
+ /* templates */ TemplateIndex(62),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
/* [434] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(54),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(234),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
/* [435] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(48),
+ /* templates */ TemplateIndex(70),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(83),
},
{
/* [436] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(234),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ /* templates */ TemplateIndex(70),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(83),
},
{
/* [437] */
@@ -9782,10 +10078,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(48),
+ /* templates */ TemplateIndex(62),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(100),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(92),
},
{
/* [438] */
@@ -9793,10 +10089,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(234),
- /* const_eval_fn */ ConstEvalFunctionIndex(100),
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(92),
},
{
/* [439] */
@@ -9804,10 +10100,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(48),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(101),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(97),
},
{
/* [440] */
@@ -9815,10 +10111,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(234),
- /* const_eval_fn */ ConstEvalFunctionIndex(101),
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(278),
+ /* const_eval_fn */ ConstEvalFunctionIndex(97),
},
{
/* [441] */
@@ -9826,10 +10122,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(48),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(98),
},
{
/* [442] */
@@ -9837,10 +10133,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(48),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(234),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
+ /* templates */ TemplateIndex(66),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(278),
+ /* const_eval_fn */ ConstEvalFunctionIndex(98),
},
{
/* [443] */
@@ -9848,10 +10144,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(50),
- /* parameters */ ParameterIndex(16),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
},
{
/* [444] */
@@ -9859,10 +10155,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(391),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(278),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
},
{
/* [445] */
@@ -9870,10 +10166,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(50),
- /* parameters */ ParameterIndex(16),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(100),
},
{
/* [446] */
@@ -9881,186 +10177,186 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(391),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(278),
+ /* const_eval_fn */ ConstEvalFunctionIndex(100),
},
{
/* [447] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(52),
- /* parameters */ ParameterIndex(408),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [448] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(231),
- /* return_matcher_indices */ MatcherIndicesIndex(5),
- /* const_eval_fn */ ConstEvalFunctionIndex(17),
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(101),
+ },
+ {
+ /* [448] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(278),
+ /* const_eval_fn */ ConstEvalFunctionIndex(101),
},
{
/* [449] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(409),
- /* return_matcher_indices */ MatcherIndicesIndex(10),
- /* const_eval_fn */ ConstEvalFunctionIndex(19),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(102),
},
{
/* [450] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(47),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(10),
- /* const_eval_fn */ ConstEvalFunctionIndex(21),
+ /* templates */ TemplateIndex(60),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(278),
+ /* const_eval_fn */ ConstEvalFunctionIndex(102),
},
{
/* [451] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(41),
- /* const_eval_fn */ ConstEvalFunctionIndex(22),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(62),
+ /* parameters */ ParameterIndex(16),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(103),
},
{
/* [452] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(23),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(427),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(103),
},
{
/* [453] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(244),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(27),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(62),
+ /* parameters */ ParameterIndex(16),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(104),
},
{
/* [454] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(44),
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(427),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(104),
},
{
/* [455] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(412),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(45),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(64),
+ /* parameters */ ParameterIndex(444),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [456] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(412),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(46),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(267),
+ /* return_matcher_indices */ MatcherIndicesIndex(5),
+ /* const_eval_fn */ ConstEvalFunctionIndex(17),
},
{
/* [457] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(412),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(47),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(445),
+ /* return_matcher_indices */ MatcherIndicesIndex(24),
+ /* const_eval_fn */ ConstEvalFunctionIndex(19),
},
{
/* [458] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(413),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(48),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(59),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(24),
+ /* const_eval_fn */ ConstEvalFunctionIndex(21),
},
{
/* [459] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(413),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(49),
+ /* parameters */ ParameterIndex(17),
+ /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* const_eval_fn */ ConstEvalFunctionIndex(22),
},
{
/* [460] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(414),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(50),
+ /* parameters */ ParameterIndex(17),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(23),
},
{
/* [461] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(415),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(51),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(280),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(27),
},
{
/* [462] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(414),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(52),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(44),
},
{
/* [463] */
@@ -10069,34 +10365,122 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(415),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
- /* const_eval_fn */ ConstEvalFunctionIndex(53),
+ /* parameters */ ParameterIndex(448),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(45),
},
{
/* [464] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(57),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(448),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(46),
},
{
/* [465] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(245),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
- /* const_eval_fn */ ConstEvalFunctionIndex(58),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(448),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(47),
},
{
/* [466] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(449),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(48),
+ },
+ {
+ /* [467] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(449),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(49),
+ },
+ {
+ /* [468] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(450),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(50),
+ },
+ {
+ /* [469] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(451),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(51),
+ },
+ {
+ /* [470] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(450),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(52),
+ },
+ {
+ /* [471] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(451),
+ /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(53),
+ },
+ {
+ /* [472] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(57),
+ },
+ {
+ /* [473] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(36),
+ /* parameters */ ParameterIndex(281),
+ /* return_matcher_indices */ MatcherIndicesIndex(170),
+ /* const_eval_fn */ ConstEvalFunctionIndex(58),
+ },
+ {
+ /* [474] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 0,
/* num_explicit_templates */ 0,
@@ -10107,73 +10491,84 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [467] */
+ /* [475] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(27),
- /* parameters */ ParameterIndex(416),
- /* return_matcher_indices */ MatcherIndicesIndex(96),
+ /* templates */ TemplateIndex(39),
+ /* parameters */ ParameterIndex(452),
+ /* return_matcher_indices */ MatcherIndicesIndex(146),
/* const_eval_fn */ ConstEvalFunctionIndex(72),
},
{
- /* [468] */
+ /* [476] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(23),
+ /* return_matcher_indices */ MatcherIndicesIndex(51),
/* const_eval_fn */ ConstEvalFunctionIndex(74),
},
{
- /* [469] */
+ /* [477] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(23),
+ /* return_matcher_indices */ MatcherIndicesIndex(51),
/* const_eval_fn */ ConstEvalFunctionIndex(75),
},
{
- /* [470] */
+ /* [478] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(23),
+ /* return_matcher_indices */ MatcherIndicesIndex(51),
/* const_eval_fn */ ConstEvalFunctionIndex(76),
},
{
- /* [471] */
+ /* [479] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(77),
},
{
- /* [472] */
+ /* [480] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(78),
},
{
- /* [473] */
+ /* [481] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(17),
+ /* return_matcher_indices */ MatcherIndicesIndex(33),
+ /* const_eval_fn */ ConstEvalFunctionIndex(79),
+ },
+ {
+ /* [482] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
@@ -10181,182 +10576,171 @@
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
/* return_matcher_indices */ MatcherIndicesIndex(40),
- /* const_eval_fn */ ConstEvalFunctionIndex(79),
- },
- {
- /* [474] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(155),
/* const_eval_fn */ ConstEvalFunctionIndex(80),
},
{
- /* [475] */
+ /* [483] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(421),
- /* return_matcher_indices */ MatcherIndicesIndex(159),
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(457),
+ /* return_matcher_indices */ MatcherIndicesIndex(79),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [476] */
+ /* [484] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(50),
+ /* templates */ TemplateIndex(62),
/* parameters */ ParameterIndex(0),
/* return_matcher_indices */ MatcherIndicesIndex(6),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [477] */
+ /* [485] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(50),
+ /* templates */ TemplateIndex(62),
/* parameters */ ParameterIndex(0),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [478] */
+ /* [486] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(50),
+ /* templates */ TemplateIndex(62),
/* parameters */ ParameterIndex(0),
/* return_matcher_indices */ MatcherIndicesIndex(6),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [479] */
+ /* [487] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(50),
+ /* templates */ TemplateIndex(62),
/* parameters */ ParameterIndex(0),
- /* return_matcher_indices */ MatcherIndicesIndex(280),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [480] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(152),
- /* return_matcher_indices */ MatcherIndicesIndex(155),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [481] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [482] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(152),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [483] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 1,
- /* num_templates */ 5,
- /* templates */ TemplateIndex(6),
- /* parameters */ ParameterIndex(387),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [484] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 5,
- /* templates */ TemplateIndex(11),
- /* parameters */ ParameterIndex(315),
- /* return_matcher_indices */ MatcherIndicesIndex(62),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [485] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(242),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(95),
- },
- {
- /* [486] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(242),
- /* return_matcher_indices */ MatcherIndicesIndex(53),
- /* const_eval_fn */ ConstEvalFunctionIndex(96),
- },
- {
- /* [487] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 3,
- /* num_templates */ 3,
- /* templates */ TemplateIndex(41),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(77),
+ /* return_matcher_indices */ MatcherIndicesIndex(324),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [488] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 3,
- /* num_templates */ 3,
- /* templates */ TemplateIndex(44),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(82),
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(152),
+ /* return_matcher_indices */ MatcherIndicesIndex(40),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [489] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [490] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(152),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [491] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 5,
+ /* templates */ TemplateIndex(18),
+ /* parameters */ ParameterIndex(423),
+ /* return_matcher_indices */ MatcherIndicesIndex(97),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [492] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 5,
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(351),
+ /* return_matcher_indices */ MatcherIndicesIndex(112),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [493] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(278),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(95),
+ },
+ {
+ /* [494] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(278),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(96),
+ },
+ {
+ /* [495] */
/* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 0,
/* num_explicit_templates */ 3,
/* num_templates */ 3,
- /* templates */ TemplateIndex(7),
+ /* templates */ TemplateIndex(53),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(87),
+ /* return_matcher_indices */ MatcherIndicesIndex(127),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [496] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 3,
+ /* num_templates */ 3,
+ /* templates */ TemplateIndex(56),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [497] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 3,
+ /* num_templates */ 3,
+ /* templates */ TemplateIndex(19),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(137),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
};
@@ -10370,357 +10754,357 @@
/* fn abs[T : fiu32_f16](T) -> T */
/* fn abs[N : num, T : fiu32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(295),
+ /* overloads */ OverloadIndex(307),
},
{
/* [1] */
/* fn acos[T : f32_f16](@test_value(0.96891242171) T) -> T */
/* fn acos[N : num, T : f32_f16](@test_value(0.96891242171) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(297),
+ /* overloads */ OverloadIndex(309),
},
{
/* [2] */
/* fn acosh[T : f32_f16](@test_value(1.5430806348) T) -> T */
/* fn acosh[N : num, T : f32_f16](@test_value(1.5430806348) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(299),
+ /* overloads */ OverloadIndex(311),
},
{
/* [3] */
/* fn all(bool) -> bool */
/* fn all[N : num](vec<N, bool>) -> bool */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(301),
+ /* overloads */ OverloadIndex(313),
},
{
/* [4] */
/* fn any(bool) -> bool */
/* fn any[N : num](vec<N, bool>) -> bool */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(303),
+ /* overloads */ OverloadIndex(315),
},
{
/* [5] */
/* fn arrayLength[T, A : access](ptr<storage, runtime_array<T>, A>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(447),
+ /* overloads */ OverloadIndex(455),
},
{
/* [6] */
/* fn asin[T : f32_f16](@test_value(0.479425538604) T) -> T */
/* fn asin[N : num, T : f32_f16](@test_value(0.479425538604) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(305),
+ /* overloads */ OverloadIndex(317),
},
{
/* [7] */
/* fn asinh[T : f32_f16](T) -> T */
/* fn asinh[N : num, T : f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(307),
+ /* overloads */ OverloadIndex(319),
},
{
/* [8] */
/* fn atan[T : f32_f16](T) -> T */
/* fn atan[N : num, T : f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(309),
+ /* overloads */ OverloadIndex(321),
},
{
/* [9] */
/* fn atan2[T : f32_f16](T, T) -> T */
/* fn atan2[T : f32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(311),
+ /* overloads */ OverloadIndex(323),
},
{
/* [10] */
/* fn atanh[T : f32_f16](@test_value(0.5) T) -> T */
/* fn atanh[N : num, T : f32_f16](@test_value(0.5) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(313),
+ /* overloads */ OverloadIndex(325),
},
{
/* [11] */
/* fn ceil[T : f32_f16](@test_value(1.5) T) -> T */
/* fn ceil[N : num, T : f32_f16](@test_value(1.5) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(315),
+ /* overloads */ OverloadIndex(327),
},
{
/* [12] */
/* fn clamp[T : fiu32_f16](T, T, T) -> T */
/* fn clamp[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(317),
+ /* overloads */ OverloadIndex(329),
},
{
/* [13] */
/* fn cos[T : f32_f16](@test_value(0) T) -> T */
/* fn cos[N : num, T : f32_f16](@test_value(0) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(319),
+ /* overloads */ OverloadIndex(331),
},
{
/* [14] */
/* fn cosh[T : f32_f16](@test_value(0) T) -> T */
/* fn cosh[N : num, T : f32_f16](@test_value(0) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(321),
+ /* overloads */ OverloadIndex(333),
},
{
/* [15] */
/* fn countLeadingZeros[T : iu32](T) -> T */
/* fn countLeadingZeros[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(323),
+ /* overloads */ OverloadIndex(335),
},
{
/* [16] */
/* fn countOneBits[T : iu32](T) -> T */
/* fn countOneBits[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(325),
+ /* overloads */ OverloadIndex(337),
},
{
/* [17] */
/* fn countTrailingZeros[T : iu32](T) -> T */
/* fn countTrailingZeros[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(327),
+ /* overloads */ OverloadIndex(339),
},
{
/* [18] */
/* fn cross[T : f32_f16](vec3<T>, vec3<T>) -> vec3<T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(448),
+ /* overloads */ OverloadIndex(456),
},
{
/* [19] */
/* fn degrees[T : f32_f16](T) -> T */
/* fn degrees[N : num, T : f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(329),
+ /* overloads */ OverloadIndex(341),
},
{
/* [20] */
/* fn determinant[N : num, T : f32_f16](mat<N, N, T>) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(449),
+ /* overloads */ OverloadIndex(457),
},
{
/* [21] */
/* fn distance[T : f32_f16](T, T) -> T */
/* fn distance[N : num, T : f32_f16](vec<N, T>, vec<N, T>) -> T */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(331),
+ /* overloads */ OverloadIndex(343),
},
{
/* [22] */
/* fn dot[N : num, T : fiu32_f16](vec<N, T>, vec<N, T>) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(450),
+ /* overloads */ OverloadIndex(458),
},
{
/* [23] */
/* fn dot4I8Packed(u32, u32) -> i32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(451),
+ /* overloads */ OverloadIndex(459),
},
{
/* [24] */
/* fn dot4U8Packed(u32, u32) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(452),
+ /* overloads */ OverloadIndex(460),
},
{
/* [25] */
/* fn dpdx(f32) -> f32 */
/* fn dpdx[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(333),
+ /* overloads */ OverloadIndex(345),
},
{
/* [26] */
/* fn dpdxCoarse(f32) -> f32 */
/* fn dpdxCoarse[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(333),
+ /* overloads */ OverloadIndex(345),
},
{
/* [27] */
/* fn dpdxFine(f32) -> f32 */
/* fn dpdxFine[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(333),
+ /* overloads */ OverloadIndex(345),
},
{
/* [28] */
/* fn dpdy(f32) -> f32 */
/* fn dpdy[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(333),
+ /* overloads */ OverloadIndex(345),
},
{
/* [29] */
/* fn dpdyCoarse(f32) -> f32 */
/* fn dpdyCoarse[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(333),
+ /* overloads */ OverloadIndex(345),
},
{
/* [30] */
/* fn dpdyFine(f32) -> f32 */
/* fn dpdyFine[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(333),
+ /* overloads */ OverloadIndex(345),
},
{
/* [31] */
/* fn exp[T : f32_f16](T) -> T */
/* fn exp[N : num, T : f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(335),
+ /* overloads */ OverloadIndex(347),
},
{
/* [32] */
/* fn exp2[T : f32_f16](T) -> T */
/* fn exp2[N : num, T : f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(337),
+ /* overloads */ OverloadIndex(349),
},
{
/* [33] */
/* fn extractBits[T : iu32](T, u32, u32) -> T */
/* fn extractBits[N : num, T : iu32](vec<N, T>, u32, u32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(339),
+ /* overloads */ OverloadIndex(351),
},
{
/* [34] */
/* fn faceForward[N : num, T : f32_f16](vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(453),
+ /* overloads */ OverloadIndex(461),
},
{
/* [35] */
/* fn firstLeadingBit[T : iu32](T) -> T */
/* fn firstLeadingBit[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(341),
+ /* overloads */ OverloadIndex(353),
},
{
/* [36] */
/* fn firstTrailingBit[T : iu32](T) -> T */
/* fn firstTrailingBit[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(343),
+ /* overloads */ OverloadIndex(355),
},
{
/* [37] */
/* fn floor[T : f32_f16](@test_value(1.5) T) -> T */
/* fn floor[N : num, T : f32_f16](@test_value(1.5) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(345),
+ /* overloads */ OverloadIndex(357),
},
{
/* [38] */
/* fn fma[T : f32_f16](T, T, T) -> T */
/* fn fma[N : num, T : f32_f16](vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(347),
+ /* overloads */ OverloadIndex(359),
},
{
/* [39] */
/* fn fract[T : f32_f16](@test_value(1.25) T) -> T */
/* fn fract[N : num, T : f32_f16](@test_value(1.25) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(349),
+ /* overloads */ OverloadIndex(361),
},
{
/* [40] */
/* fn frexp[T : f32_f16](T) -> __frexp_result<T> */
/* fn frexp[N : num, T : f32_f16](vec<N, T>) -> __frexp_result_vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(351),
+ /* overloads */ OverloadIndex(363),
},
{
/* [41] */
/* fn fwidth(f32) -> f32 */
/* fn fwidth[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(333),
+ /* overloads */ OverloadIndex(345),
},
{
/* [42] */
/* fn fwidthCoarse(f32) -> f32 */
/* fn fwidthCoarse[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(333),
+ /* overloads */ OverloadIndex(345),
},
{
/* [43] */
/* fn fwidthFine(f32) -> f32 */
/* fn fwidthFine[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(333),
+ /* overloads */ OverloadIndex(345),
},
{
/* [44] */
/* fn insertBits[T : iu32](T, T, u32, u32) -> T */
/* fn insertBits[N : num, T : iu32](vec<N, T>, vec<N, T>, u32, u32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(353),
+ /* overloads */ OverloadIndex(365),
},
{
/* [45] */
/* fn inverseSqrt[T : f32_f16](T) -> T */
/* fn inverseSqrt[N : num, T : f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(355),
+ /* overloads */ OverloadIndex(367),
},
{
/* [46] */
/* fn ldexp[T : f32_f16, U : i32](T, U) -> T */
/* fn ldexp[N : num, T : f32_f16, U : i32](vec<N, T>, vec<N, U>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(357),
+ /* overloads */ OverloadIndex(369),
},
{
/* [47] */
/* fn length[T : f32_f16](@test_value(0) T) -> T */
/* fn length[N : num, T : f32_f16](@test_value(0) vec<N, T>) -> T */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(359),
+ /* overloads */ OverloadIndex(371),
},
{
/* [48] */
/* fn log[T : f32_f16](T) -> T */
/* fn log[N : num, T : f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(361),
+ /* overloads */ OverloadIndex(373),
},
{
/* [49] */
/* fn log2[T : f32_f16](T) -> T */
/* fn log2[N : num, T : f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(363),
+ /* overloads */ OverloadIndex(375),
},
{
/* [50] */
/* fn max[T : fiu32_f16](T, T) -> T */
/* fn max[N : num, T : fiu32_f16](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(365),
+ /* overloads */ OverloadIndex(377),
},
{
/* [51] */
/* fn min[T : fiu32_f16](T, T) -> T */
/* fn min[N : num, T : fiu32_f16](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(367),
+ /* overloads */ OverloadIndex(379),
},
{
/* [52] */
@@ -10728,128 +11112,128 @@
/* fn mix[N : num, T : f32_f16](vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
/* fn mix[N : num, T : f32_f16](vec<N, T>, vec<N, T>, T) -> vec<N, T> */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(274),
+ /* overloads */ OverloadIndex(286),
},
{
/* [53] */
/* fn modf[T : f32_f16](@test_value(-1.5) T) -> __modf_result<T> */
/* fn modf[N : num, T : f32_f16](@test_value(-1.5) vec<N, T>) -> __modf_result_vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(369),
+ /* overloads */ OverloadIndex(381),
},
{
/* [54] */
/* fn normalize[N : num, T : f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(454),
+ /* overloads */ OverloadIndex(462),
},
{
/* [55] */
/* fn pack2x16float(vec2<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(455),
+ /* overloads */ OverloadIndex(463),
},
{
/* [56] */
/* fn pack2x16snorm(vec2<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(456),
+ /* overloads */ OverloadIndex(464),
},
{
/* [57] */
/* fn pack2x16unorm(vec2<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(457),
+ /* overloads */ OverloadIndex(465),
},
{
/* [58] */
/* fn pack4x8snorm(vec4<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(458),
+ /* overloads */ OverloadIndex(466),
},
{
/* [59] */
/* fn pack4x8unorm(vec4<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(459),
+ /* overloads */ OverloadIndex(467),
},
{
/* [60] */
/* fn pack4xI8(vec4<i32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(460),
+ /* overloads */ OverloadIndex(468),
},
{
/* [61] */
/* fn pack4xU8(vec4<u32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(461),
+ /* overloads */ OverloadIndex(469),
},
{
/* [62] */
/* fn pack4xI8Clamp(vec4<i32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(462),
+ /* overloads */ OverloadIndex(470),
},
{
/* [63] */
/* fn pack4xU8Clamp(vec4<u32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(463),
+ /* overloads */ OverloadIndex(471),
},
{
/* [64] */
/* fn pow[T : f32_f16](T, T) -> T */
/* fn pow[N : num, T : f32_f16](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(371),
+ /* overloads */ OverloadIndex(383),
},
{
/* [65] */
/* fn quantizeToF16(f32) -> f32 */
/* fn quantizeToF16[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(373),
+ /* overloads */ OverloadIndex(385),
},
{
/* [66] */
/* fn radians[T : f32_f16](T) -> T */
/* fn radians[N : num, T : f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(375),
+ /* overloads */ OverloadIndex(387),
},
{
/* [67] */
/* fn reflect[N : num, T : f32_f16](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(464),
+ /* overloads */ OverloadIndex(472),
},
{
/* [68] */
/* fn refract[N : num, T : f32_f16](vec<N, T>, vec<N, T>, T) -> vec<N, T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(465),
+ /* overloads */ OverloadIndex(473),
},
{
/* [69] */
/* fn reverseBits[T : iu32](T) -> T */
/* fn reverseBits[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(377),
+ /* overloads */ OverloadIndex(389),
},
{
/* [70] */
/* fn round[T : f32_f16](@test_value(3.5) T) -> T */
/* fn round[N : num, T : f32_f16](@test_value(3.5) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(379),
+ /* overloads */ OverloadIndex(391),
},
{
/* [71] */
/* fn saturate[T : f32_f16](@test_value(2) T) -> T */
/* fn saturate[T : f32_f16, N : num](@test_value(2) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(381),
+ /* overloads */ OverloadIndex(393),
},
{
/* [72] */
@@ -10857,136 +11241,136 @@
/* fn select[T : scalar, N : num](vec<N, T>, vec<N, T>, bool) -> vec<N, T> */
/* fn select[N : num, T : scalar](vec<N, T>, vec<N, T>, vec<N, bool>) -> vec<N, T> */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(277),
+ /* overloads */ OverloadIndex(289),
},
{
/* [73] */
/* fn sign[T : fi32_f16](T) -> T */
/* fn sign[N : num, T : fi32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(383),
+ /* overloads */ OverloadIndex(395),
},
{
/* [74] */
/* fn sin[T : f32_f16](@test_value(1.57079632679) T) -> T */
/* fn sin[N : num, T : f32_f16](@test_value(1.57079632679) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(385),
+ /* overloads */ OverloadIndex(397),
},
{
/* [75] */
/* fn sinh[T : f32_f16](T) -> T */
/* fn sinh[N : num, T : f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(387),
+ /* overloads */ OverloadIndex(399),
},
{
/* [76] */
/* fn smoothstep[T : f32_f16](@test_value(2) T, @test_value(4) T, @test_value(3) T) -> T */
/* fn smoothstep[N : num, T : f32_f16](@test_value(2) vec<N, T>, @test_value(4) vec<N, T>, @test_value(3) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(389),
+ /* overloads */ OverloadIndex(401),
},
{
/* [77] */
/* fn sqrt[T : f32_f16](T) -> T */
/* fn sqrt[N : num, T : f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(391),
+ /* overloads */ OverloadIndex(403),
},
{
/* [78] */
/* fn step[T : f32_f16](T, T) -> T */
/* fn step[N : num, T : f32_f16](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(393),
+ /* overloads */ OverloadIndex(405),
},
{
/* [79] */
/* fn storageBarrier() */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(466),
+ /* overloads */ OverloadIndex(474),
},
{
/* [80] */
/* fn tan[T : f32_f16](T) -> T */
/* fn tan[N : num, T : f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(395),
+ /* overloads */ OverloadIndex(407),
},
{
/* [81] */
/* fn tanh[T : f32_f16](T) -> T */
/* fn tanh[N : num, T : f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(397),
+ /* overloads */ OverloadIndex(409),
},
{
/* [82] */
/* fn transpose[M : num, N : num, T : f32_f16](mat<M, N, T>) -> mat<N, M, T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(467),
+ /* overloads */ OverloadIndex(475),
},
{
/* [83] */
/* fn trunc[T : f32_f16](@test_value(1.5) T) -> T */
/* fn trunc[N : num, T : f32_f16](@test_value(1.5) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(399),
+ /* overloads */ OverloadIndex(411),
},
{
/* [84] */
/* fn unpack2x16float(u32) -> vec2<f32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(468),
+ /* overloads */ OverloadIndex(476),
},
{
/* [85] */
/* fn unpack2x16snorm(u32) -> vec2<f32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(469),
+ /* overloads */ OverloadIndex(477),
},
{
/* [86] */
/* fn unpack2x16unorm(u32) -> vec2<f32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(470),
+ /* overloads */ OverloadIndex(478),
},
{
/* [87] */
/* fn unpack4x8snorm(u32) -> vec4<f32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(471),
+ /* overloads */ OverloadIndex(479),
},
{
/* [88] */
/* fn unpack4x8unorm(u32) -> vec4<f32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(472),
+ /* overloads */ OverloadIndex(480),
},
{
/* [89] */
/* fn unpack4xI8(u32) -> vec4<i32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(473),
+ /* overloads */ OverloadIndex(481),
},
{
/* [90] */
/* fn unpack4xU8(u32) -> vec4<u32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(474),
+ /* overloads */ OverloadIndex(482),
},
{
/* [91] */
/* fn workgroupBarrier() */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(466),
+ /* overloads */ OverloadIndex(474),
},
{
/* [92] */
/* fn textureBarrier() */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(466),
+ /* overloads */ OverloadIndex(474),
},
{
/* [93] */
@@ -11056,7 +11440,7 @@
/* fn textureNumLayers(texture: texture_depth_cube_array) -> u32 */
/* fn textureNumLayers[F : texel_format, A : access](texture: texture_storage_2d_array<F, A>) -> u32 */
/* num overloads */ 5,
- /* overloads */ OverloadIndex(243),
+ /* overloads */ OverloadIndex(255),
},
{
/* [97] */
@@ -11078,7 +11462,7 @@
/* fn textureNumSamples[T : fiu32](texture: texture_multisampled_2d<T>) -> u32 */
/* fn textureNumSamples(texture: texture_depth_multisampled_2d) -> u32 */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(401),
+ /* overloads */ OverloadIndex(413),
},
{
/* [99] */
@@ -11172,7 +11556,7 @@
/* fn textureSampleBaseClampToEdge(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
/* fn textureSampleBaseClampToEdge(texture: texture_external, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(403),
+ /* overloads */ OverloadIndex(415),
},
{
/* [106] */
@@ -11221,270 +11605,278 @@
/* [108] */
/* fn inputAttachmentLoad[T : fiu32](input_attachment: input_attachment<T>) -> vec4<T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(475),
+ /* overloads */ OverloadIndex(483),
},
{
/* [109] */
/* fn atomicLoad[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(476),
+ /* overloads */ OverloadIndex(484),
},
{
/* [110] */
/* fn atomicStore[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(477),
+ /* overloads */ OverloadIndex(485),
},
{
/* [111] */
/* fn atomicAdd[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(478),
+ /* overloads */ OverloadIndex(486),
},
{
/* [112] */
/* fn atomicSub[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(478),
+ /* overloads */ OverloadIndex(486),
},
{
/* [113] */
/* fn atomicMax[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(478),
+ /* overloads */ OverloadIndex(486),
},
{
/* [114] */
/* fn atomicMin[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(478),
+ /* overloads */ OverloadIndex(486),
},
{
/* [115] */
/* fn atomicAnd[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(478),
+ /* overloads */ OverloadIndex(486),
},
{
/* [116] */
/* fn atomicOr[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(478),
+ /* overloads */ OverloadIndex(486),
},
{
/* [117] */
/* fn atomicXor[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(478),
+ /* overloads */ OverloadIndex(486),
},
{
/* [118] */
/* fn atomicExchange[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(478),
+ /* overloads */ OverloadIndex(486),
},
{
/* [119] */
/* fn atomicCompareExchangeWeak[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T, T) -> __atomic_compare_exchange_result<T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(479),
+ /* overloads */ OverloadIndex(487),
},
{
/* [120] */
/* fn subgroupBallot(bool) -> vec4<u32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(480),
+ /* overloads */ OverloadIndex(488),
},
{
/* [121] */
/* fn subgroupElect() -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(481),
+ /* overloads */ OverloadIndex(489),
},
{
/* [122] */
/* fn subgroupBroadcast[T : fiu32_f16](value: T, @const sourceLaneIndex: iu32) -> T */
/* fn subgroupBroadcast[N : num, T : fiu32_f16](value: vec<N, T>, @const sourceLaneIndex: iu32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(405),
+ /* overloads */ OverloadIndex(417),
},
{
/* [123] */
/* fn subgroupBroadcastFirst[T : fiu32_f16](value: T) -> T */
/* fn subgroupBroadcastFirst[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(407),
+ /* overloads */ OverloadIndex(419),
},
{
/* [124] */
/* fn subgroupShuffle[T : fiu32_f16](value: T, sourceLaneIndex: iu32) -> T */
/* fn subgroupShuffle[N : num, T : fiu32_f16](value: vec<N, T>, sourceLaneIndex: iu32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(405),
+ /* overloads */ OverloadIndex(417),
},
{
/* [125] */
/* fn subgroupShuffleXor[T : fiu32_f16](value: T, mask: u32) -> T */
/* fn subgroupShuffleXor[N : num, T : fiu32_f16](value: vec<N, T>, mask: u32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(409),
+ /* overloads */ OverloadIndex(421),
},
{
/* [126] */
/* fn subgroupShuffleUp[T : fiu32_f16](value: T, delta: u32) -> T */
/* fn subgroupShuffleUp[N : num, T : fiu32_f16](value: vec<N, T>, delta: u32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(411),
+ /* overloads */ OverloadIndex(423),
},
{
/* [127] */
/* fn subgroupShuffleDown[T : fiu32_f16](value: T, delta: u32) -> T */
/* fn subgroupShuffleDown[N : num, T : fiu32_f16](value: vec<N, T>, delta: u32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(411),
+ /* overloads */ OverloadIndex(423),
},
{
/* [128] */
/* fn subgroupAdd[T : fiu32_f16](value: T) -> T */
/* fn subgroupAdd[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(407),
+ /* overloads */ OverloadIndex(419),
},
{
/* [129] */
/* fn subgroupInclusiveAdd[T : fiu32_f16](value: T) -> T */
/* fn subgroupInclusiveAdd[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(407),
+ /* overloads */ OverloadIndex(419),
},
{
/* [130] */
/* fn subgroupExclusiveAdd[T : fiu32_f16](value: T) -> T */
/* fn subgroupExclusiveAdd[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(407),
+ /* overloads */ OverloadIndex(419),
},
{
/* [131] */
/* fn subgroupMul[T : fiu32_f16](value: T) -> T */
/* fn subgroupMul[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(407),
+ /* overloads */ OverloadIndex(419),
},
{
/* [132] */
/* fn subgroupInclusiveMul[T : fiu32_f16](value: T) -> T */
/* fn subgroupInclusiveMul[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(407),
+ /* overloads */ OverloadIndex(419),
},
{
/* [133] */
/* fn subgroupExclusiveMul[T : fiu32_f16](value: T) -> T */
/* fn subgroupExclusiveMul[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(407),
+ /* overloads */ OverloadIndex(419),
},
{
/* [134] */
/* fn subgroupAnd[T : iu32](value: T) -> T */
/* fn subgroupAnd[N : num, T : iu32](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(413),
+ /* overloads */ OverloadIndex(425),
},
{
/* [135] */
/* fn subgroupOr[T : iu32](value: T) -> T */
/* fn subgroupOr[N : num, T : iu32](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(413),
+ /* overloads */ OverloadIndex(425),
},
{
/* [136] */
/* fn subgroupXor[T : iu32](value: T) -> T */
/* fn subgroupXor[N : num, T : iu32](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(413),
+ /* overloads */ OverloadIndex(425),
},
{
/* [137] */
/* fn subgroupMin[T : fiu32_f16](value: T) -> T */
/* fn subgroupMin[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(407),
+ /* overloads */ OverloadIndex(419),
},
{
/* [138] */
/* fn subgroupMax[T : fiu32_f16](value: T) -> T */
/* fn subgroupMax[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(407),
+ /* overloads */ OverloadIndex(419),
},
{
/* [139] */
/* fn subgroupAll(bool) -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(482),
+ /* overloads */ OverloadIndex(490),
},
{
/* [140] */
/* fn subgroupAny(bool) -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(482),
+ /* overloads */ OverloadIndex(490),
},
{
/* [141] */
/* fn quadBroadcast[T : fiu32_f16](e: T, @const id: iu32) -> T */
/* fn quadBroadcast[N : num, T : fiu32_f16](e: vec<N, T>, @const id: iu32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(415),
+ /* overloads */ OverloadIndex(427),
},
{
/* [142] */
/* fn quadSwapX[T : fiu32_f16](e: T) -> T */
/* fn quadSwapX[N : num, T : fiu32_f16](e: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(417),
+ /* overloads */ OverloadIndex(429),
},
{
/* [143] */
/* fn quadSwapY[T : fiu32_f16](e: T) -> T */
/* fn quadSwapY[N : num, T : fiu32_f16](e: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(417),
+ /* overloads */ OverloadIndex(429),
},
{
/* [144] */
/* fn quadSwapDiagonal[T : fiu32_f16](e: T) -> T */
/* fn quadSwapDiagonal[N : num, T : fiu32_f16](e: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(417),
+ /* overloads */ OverloadIndex(429),
},
{
/* [145] */
/* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num](ptr<storage, runtime_array<S>, readable>, u32, @const 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 */ 2,
- /* overloads */ OverloadIndex(419),
+ /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : i8, C : num, R : num](ptr<storage, runtime_array<i32>, readable>, u32, @const bool, u32) -> T */
+ /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : u8, C : num, R : num](ptr<storage, runtime_array<u32>, readable>, u32, @const bool, u32) -> T */
+ /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : i8, C : num, R : num, AC : num](ptr<workgroup_or_storage, array<i32, AC>, readable>, u32, @const bool, u32) -> T */
+ /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : u8, C : num, R : num, AC : num](ptr<workgroup_or_storage, array<u32, AC>, readable>, u32, @const bool, u32) -> T */
+ /* num overloads */ 6,
+ /* overloads */ OverloadIndex(189),
},
{
/* [146] */
/* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num](ptr<storage, runtime_array<S>, writable>, u32, subgroup_matrix<K, S, C, R>, @const 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 */ 2,
- /* overloads */ OverloadIndex(421),
+ /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : i8, C : num, R : num](ptr<storage, runtime_array<i32>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, u32) */
+ /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : u8, C : num, R : num](ptr<storage, runtime_array<u32>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, u32) */
+ /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : i8, C : num, R : num, AC : num](ptr<workgroup_or_storage, array<i32, AC>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, u32) */
+ /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : u8, C : num, R : num, AC : num](ptr<workgroup_or_storage, array<u32, AC>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, u32) */
+ /* num overloads */ 6,
+ /* overloads */ OverloadIndex(195),
},
{
/* [147] */
/* fn subgroupMatrixMultiply<TR : subgroup_matrix_elements>[T : subgroup_matrix_elements, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_left, T, K, R>, subgroup_matrix<subgroup_matrix_kind_right, T, C, K>) -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(483),
+ /* overloads */ OverloadIndex(491),
},
{
/* [148] */
/* fn subgroupMatrixMultiplyAccumulate[T : subgroup_matrix_elements, TR : subgroup_matrix_elements, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_left, T, K, R>, subgroup_matrix<subgroup_matrix_kind_right, T, C, K>, subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>) -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(484),
+ /* overloads */ OverloadIndex(492),
},
};
@@ -11494,21 +11886,21 @@
/* op !(bool) -> bool */
/* op  -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(423),
+ /* overloads */ OverloadIndex(431),
},
{
/* [1] */
/* op ~[T : iu32](T) -> T */
/* op ~[T : iu32, N : num](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(425),
+ /* overloads */ OverloadIndex(433),
},
{
/* [2] */
/* op -[T : fi32_f16](T) -> T */
/* op -[T : fi32_f16, N : num](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(427),
+ /* overloads */ OverloadIndex(435),
},
};
constexpr uint8_t kUnaryOperatorNot = 0;
@@ -11524,7 +11916,7 @@
/* op +[T : fiu32_f16, N : num](T, vec<N, T>) -> vec<N, T> */
/* op +[T : f32_f16, N : num, M : num](mat<N, M, T>, mat<N, M, T>) -> mat<N, M, T> */
/* num overloads */ 5,
- /* overloads */ OverloadIndex(248),
+ /* overloads */ OverloadIndex(260),
},
{
/* [1] */
@@ -11534,7 +11926,7 @@
/* op -[T : fiu32_f16, N : num](T, vec<N, T>) -> vec<N, T> */
/* op -[T : f32_f16, N : num, M : num](mat<N, M, T>, mat<N, M, T>) -> mat<N, M, T> */
/* num overloads */ 5,
- /* overloads */ OverloadIndex(253),
+ /* overloads */ OverloadIndex(265),
},
{
/* [2] */
@@ -11557,7 +11949,7 @@
/* op /[T : fiu32_f16, N : num](vec<N, T>, T) -> vec<N, T> */
/* op /[T : fiu32_f16, N : num](T, vec<N, T>) -> vec<N, T> */
/* num overloads */ 4,
- /* overloads */ OverloadIndex(258),
+ /* overloads */ OverloadIndex(270),
},
{
/* [4] */
@@ -11566,14 +11958,14 @@
/* op %[T : fiu32_f16, N : num](vec<N, T>, T) -> vec<N, T> */
/* op %[T : fiu32_f16, N : num](T, vec<N, T>) -> vec<N, T> */
/* num overloads */ 4,
- /* overloads */ OverloadIndex(262),
+ /* overloads */ OverloadIndex(274),
},
{
/* [5] */
/* op ^[T : iu32](T, T) -> T */
/* op ^[T : iu32, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(429),
+ /* overloads */ OverloadIndex(437),
},
{
/* [6] */
@@ -11582,7 +11974,7 @@
/* op &[T : iu32](T, T) -> T */
/* op &[T : iu32, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 4,
- /* overloads */ OverloadIndex(266),
+ /* overloads */ OverloadIndex(278),
},
{
/* [7] */
@@ -11591,75 +11983,75 @@
/* op |[T : iu32](T, T) -> T */
/* op |[T : iu32, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 4,
- /* overloads */ OverloadIndex(270),
+ /* overloads */ OverloadIndex(282),
},
{
/* [8] */
/* op &&(bool, bool) -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(485),
+ /* overloads */ OverloadIndex(493),
},
{
/* [9] */
/* op ||(bool, bool) -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(486),
+ /* overloads */ OverloadIndex(494),
},
{
/* [10] */
/* op ==[T : scalar](T, T) -> bool */
/* op ==[T : scalar, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(431),
+ /* overloads */ OverloadIndex(439),
},
{
/* [11] */
/* op !=[T : scalar](T, T) -> bool */
/* op !=[T : scalar, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(433),
+ /* overloads */ OverloadIndex(441),
},
{
/* [12] */
/* op <[T : fiu32_f16](T, T) -> bool */
/* op <[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(435),
+ /* overloads */ OverloadIndex(443),
},
{
/* [13] */
/* op >[T : fiu32_f16](T, T) -> bool */
/* op >[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(437),
+ /* overloads */ OverloadIndex(445),
},
{
/* [14] */
/* op <=[T : fiu32_f16](T, T) -> bool */
/* op <=[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(439),
+ /* overloads */ OverloadIndex(447),
},
{
/* [15] */
/* op >=[T : fiu32_f16](T, T) -> bool */
/* op >=[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(441),
+ /* overloads */ OverloadIndex(449),
},
{
/* [16] */
/* op <<[T : iu32](T, u32) -> T */
/* op <<[T : iu32, N : num](vec<N, T>, vec<N, u32>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(443),
+ /* overloads */ OverloadIndex(451),
},
{
/* [17] */
/* op >>[T : iu32](T, u32) -> T */
/* op >>[T : iu32, N : num](vec<N, T>, vec<N, u32>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(445),
+ /* overloads */ OverloadIndex(453),
},
};
constexpr uint8_t kBinaryOperatorPlus = 0;
@@ -11688,7 +12080,7 @@
/* ctor i32(i32) -> i32 */
/* conv i32[T : scalar_no_i32](T) -> i32 */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(280),
+ /* overloads */ OverloadIndex(292),
},
{
/* [1] */
@@ -11696,7 +12088,7 @@
/* ctor u32(u32) -> u32 */
/* conv u32[T : scalar_no_u32](T) -> u32 */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(283),
+ /* overloads */ OverloadIndex(295),
},
{
/* [2] */
@@ -11704,7 +12096,7 @@
/* ctor f32(f32) -> f32 */
/* conv f32[T : scalar_no_f32](T) -> f32 */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(286),
+ /* overloads */ OverloadIndex(298),
},
{
/* [3] */
@@ -11712,7 +12104,7 @@
/* ctor f16(f16) -> f16 */
/* conv f16[T : scalar_no_f16](T) -> f16 */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(289),
+ /* overloads */ OverloadIndex(301),
},
{
/* [4] */
@@ -11720,7 +12112,7 @@
/* ctor bool(bool) -> bool */
/* conv bool[T : scalar_no_bool](T) -> bool */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(292),
+ /* overloads */ OverloadIndex(304),
},
{
/* [5] */
@@ -11781,7 +12173,7 @@
/* conv mat2x2<T : f16>(mat2x2<f32>) -> mat2x2<T> */
/* conv mat2x2<T : f32>(mat2x2<f16>) -> mat2x2<T> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(189),
+ /* overloads */ OverloadIndex(201),
},
{
/* [9] */
@@ -11792,7 +12184,7 @@
/* conv mat2x3<T : f16>(mat2x3<f32>) -> mat2x3<T> */
/* conv mat2x3<T : f32>(mat2x3<f16>) -> mat2x3<T> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(195),
+ /* overloads */ OverloadIndex(207),
},
{
/* [10] */
@@ -11803,7 +12195,7 @@
/* conv mat2x4<T : f16>(mat2x4<f32>) -> mat2x4<T> */
/* conv mat2x4<T : f32>(mat2x4<f16>) -> mat2x4<T> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(201),
+ /* overloads */ OverloadIndex(213),
},
{
/* [11] */
@@ -11814,7 +12206,7 @@
/* conv mat3x2<T : f16>(mat3x2<f32>) -> mat3x2<T> */
/* conv mat3x2<T : f32>(mat3x2<f16>) -> mat3x2<T> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(207),
+ /* overloads */ OverloadIndex(219),
},
{
/* [12] */
@@ -11825,7 +12217,7 @@
/* conv mat3x3<T : f16>(mat3x3<f32>) -> mat3x3<T> */
/* conv mat3x3<T : f32>(mat3x3<f16>) -> mat3x3<T> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(213),
+ /* overloads */ OverloadIndex(225),
},
{
/* [13] */
@@ -11836,7 +12228,7 @@
/* conv mat3x4<T : f16>(mat3x4<f32>) -> mat3x4<T> */
/* conv mat3x4<T : f32>(mat3x4<f16>) -> mat3x4<T> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(219),
+ /* overloads */ OverloadIndex(231),
},
{
/* [14] */
@@ -11847,7 +12239,7 @@
/* conv mat4x2<T : f16>(mat4x2<f32>) -> mat4x2<T> */
/* conv mat4x2<T : f32>(mat4x2<f16>) -> mat4x2<T> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(225),
+ /* overloads */ OverloadIndex(237),
},
{
/* [15] */
@@ -11858,7 +12250,7 @@
/* conv mat4x3<T : f16>(mat4x3<f32>) -> mat4x3<T> */
/* conv mat4x3<T : f32>(mat4x3<f16>) -> mat4x3<T> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(231),
+ /* overloads */ OverloadIndex(243),
},
{
/* [16] */
@@ -11869,25 +12261,25 @@
/* conv mat4x4<T : f16>(mat4x4<f32>) -> mat4x4<T> */
/* conv mat4x4<T : f32>(mat4x4<f16>) -> mat4x4<T> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(237),
+ /* overloads */ OverloadIndex(249),
},
{
/* [17] */
/* ctor subgroup_matrix_left<T : subgroup_matrix_elements, K : num, R : num>() -> subgroup_matrix<subgroup_matrix_kind_left, T, K, R> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(487),
+ /* overloads */ OverloadIndex(495),
},
{
/* [18] */
/* ctor subgroup_matrix_right<T : subgroup_matrix_elements, C : num, K : num>() -> subgroup_matrix<subgroup_matrix_kind_right, T, C, K> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(488),
+ /* overloads */ OverloadIndex(496),
},
{
/* [19] */
/* ctor subgroup_matrix_result<T : subgroup_matrix_elements, C : num, R : num>() -> subgroup_matrix<subgroup_matrix_kind_result, T, C, R> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(489),
+ /* overloads */ OverloadIndex(497),
},
};
diff --git a/src/tint/lang/core/ir/transform/robustness.cc b/src/tint/lang/core/ir/transform/robustness.cc
index bebbb22..075cb70 100644
--- a/src/tint/lang/core/ir/transform/robustness.cc
+++ b/src/tint/lang/core/ir/transform/robustness.cc
@@ -453,9 +453,13 @@
// Some matrix components types are packed together into a single array element.
// Take that into account here by scaling the array length to number of components.
- // TODO(crbug.com/403609083): I8 and U8 will be 4 components per element.
- TINT_ASSERT((matrix_ty->Type()->IsAnyOf<type::F16, type::F32, type::I32, type::U32>()));
- uint32_t components_per_element = 1;
+ uint32_t components_per_element = 0;
+ if (matrix_ty->Type()->IsAnyOf<type::I8, type::U8>()) {
+ components_per_element = 4;
+ } else {
+ TINT_ASSERT((matrix_ty->Type()->IsAnyOf<type::F16, type::F32, type::I32, type::U32>()));
+ components_per_element = 1;
+ }
// Get the length of the array (in terms of matrix elements).
auto* arr_ty = arr->Type()->UnwrapPtr()->As<core::type::Array>();
diff --git a/src/tint/lang/core/ir/transform/robustness_test.cc b/src/tint/lang/core/ir/transform/robustness_test.cc
index f07d30e..f97b1f0 100644
--- a/src/tint/lang/core/ir/transform/robustness_test.cc
+++ b/src/tint/lang/core/ir/transform/robustness_test.cc
@@ -3555,6 +3555,158 @@
EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
}
+TEST_P(IR_RobustnessTest, SubgroupMatrixLoad_i8_StorageRuntimeArray_ConstStride_ColMajor) {
+ auto* arr = b.Var("arr", ty.ptr(storage, ty.array<i32>()));
+ arr->SetBindingPoint(0, 0);
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.i8(), 8u, 4u);
+
+ auto* func = b.Function("foo", mat);
+ b.Append(func->Block(), [&] {
+ // Constant stride of 1 should be clamped to 4 even when predication is disabled.
+ auto* load =
+ b.CallExplicit(mat, BuiltinFn::kSubgroupMatrixLoad, Vector{mat}, arr, 0_u, true, 1_u);
+ b.Return(func, load);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func():subgroup_matrix_result<i8, 8, 4> {
+ $B2: {
+ %3:subgroup_matrix_result<i8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 4>> %arr, 0u, true, 1u
+ ret %3
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect_with_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func():subgroup_matrix_result<i8, 8, 4> {
+ $B2: {
+ %3:u32 = arrayLength %arr
+ %4:u32 = mul %3, 4u
+ %5:u32 = mul 4u, 7u
+ %6:u32 = add 0u, %5
+ %7:u32 = add %6, 4u
+ %8:bool = lte %7, %4
+ %9:ptr<function, subgroup_matrix_result<i8, 8, 4>, read_write> = var undef
+ if %8 [t: $B3] { # if_1
+ $B3: { # true
+ %10:subgroup_matrix_result<i8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 4>> %arr, 0u, true, 4u
+ store %9, %10
+ exit_if # if_1
+ }
+ }
+ %11:subgroup_matrix_result<i8, 8, 4> = load %9
+ ret %11
+ }
+}
+)";
+
+ auto* expect_without_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func():subgroup_matrix_result<i8, 8, 4> {
+ $B2: {
+ %3:subgroup_matrix_result<i8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 4>> %arr, 0u, true, 4u
+ ret %3
+ }
+}
+)";
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
+}
+
+TEST_P(IR_RobustnessTest, SubgroupMatrixLoad_u8_StorageRuntimeArray_ConstStride_ColMajor) {
+ auto* arr = b.Var("arr", ty.ptr(storage, ty.array<u32>()));
+ arr->SetBindingPoint(0, 0);
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.u8(), 8u, 4u);
+
+ auto* func = b.Function("foo", mat);
+ b.Append(func->Block(), [&] {
+ // Constant stride of 1 should be clamped to 4 even when predication is disabled.
+ auto* load =
+ b.CallExplicit(mat, BuiltinFn::kSubgroupMatrixLoad, Vector{mat}, arr, 0_u, true, 1_u);
+ b.Return(func, load);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func():subgroup_matrix_result<u8, 8, 4> {
+ $B2: {
+ %3:subgroup_matrix_result<u8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 4>> %arr, 0u, true, 1u
+ ret %3
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect_with_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func():subgroup_matrix_result<u8, 8, 4> {
+ $B2: {
+ %3:u32 = arrayLength %arr
+ %4:u32 = mul %3, 4u
+ %5:u32 = mul 4u, 7u
+ %6:u32 = add 0u, %5
+ %7:u32 = add %6, 4u
+ %8:bool = lte %7, %4
+ %9:ptr<function, subgroup_matrix_result<u8, 8, 4>, read_write> = var undef
+ if %8 [t: $B3] { # if_1
+ $B3: { # true
+ %10:subgroup_matrix_result<u8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 4>> %arr, 0u, true, 4u
+ store %9, %10
+ exit_if # if_1
+ }
+ }
+ %11:subgroup_matrix_result<u8, 8, 4> = load %9
+ ret %11
+ }
+}
+)";
+
+ auto* expect_without_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func():subgroup_matrix_result<u8, 8, 4> {
+ $B2: {
+ %3:subgroup_matrix_result<u8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 4>> %arr, 0u, true, 4u
+ ret %3
+ }
+}
+)";
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
+}
+
TEST_P(IR_RobustnessTest, SubgroupMatrixLoad_StorageRuntimeArray_DynamicStride_ColMajor) {
auto* arr = b.Var("arr", ty.ptr(storage, ty.array<f32>()));
arr->SetBindingPoint(0, 0);
@@ -3634,6 +3786,166 @@
EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
}
+TEST_P(IR_RobustnessTest, SubgroupMatrixLoad_i8_StorageRuntimeArray_DynamicStride_ColMajor) {
+ auto* arr = b.Var("arr", ty.ptr(storage, ty.array<i32>()));
+ arr->SetBindingPoint(0, 0);
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.i8(), 8u, 4u);
+
+ auto* func = b.Function("foo", mat);
+ auto* stride = b.FunctionParam<u32>("stride");
+ func->AppendParam(stride);
+ b.Append(func->Block(), [&] {
+ // Dynamic stride should be clamped with `max` even when predication is disabled.
+ auto* load = b.CallExplicit(mat, BuiltinFn::kSubgroupMatrixLoad, Vector{mat}, arr, 0_u,
+ true, stride);
+ b.Return(func, load);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<i8, 8, 4> {
+ $B2: {
+ %4:subgroup_matrix_result<i8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 4>> %arr, 0u, true, %stride
+ ret %4
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect_with_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<i8, 8, 4> {
+ $B2: {
+ %4:u32 = max %stride, 4u
+ %5:u32 = arrayLength %arr
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul %4, 7u
+ %8:u32 = add 0u, %7
+ %9:u32 = add %8, 4u
+ %10:bool = lte %9, %6
+ %11:ptr<function, subgroup_matrix_result<i8, 8, 4>, read_write> = var undef
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %12:subgroup_matrix_result<i8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 4>> %arr, 0u, true, %4
+ store %11, %12
+ exit_if # if_1
+ }
+ }
+ %13:subgroup_matrix_result<i8, 8, 4> = load %11
+ ret %13
+ }
+}
+)";
+
+ auto* expect_without_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<i8, 8, 4> {
+ $B2: {
+ %4:u32 = max %stride, 4u
+ %5:subgroup_matrix_result<i8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 4>> %arr, 0u, true, %4
+ ret %5
+ }
+}
+)";
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
+}
+
+TEST_P(IR_RobustnessTest, SubgroupMatrixLoad_u8_StorageRuntimeArray_DynamicStride_ColMajor) {
+ auto* arr = b.Var("arr", ty.ptr(storage, ty.array<u32>()));
+ arr->SetBindingPoint(0, 0);
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.u8(), 8u, 4u);
+
+ auto* func = b.Function("foo", mat);
+ auto* stride = b.FunctionParam<u32>("stride");
+ func->AppendParam(stride);
+ b.Append(func->Block(), [&] {
+ // Dynamic stride should be clamped with `max` even when predication is disabled.
+ auto* load = b.CallExplicit(mat, BuiltinFn::kSubgroupMatrixLoad, Vector{mat}, arr, 0_u,
+ true, stride);
+ b.Return(func, load);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<u8, 8, 4> {
+ $B2: {
+ %4:subgroup_matrix_result<u8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 4>> %arr, 0u, true, %stride
+ ret %4
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect_with_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<u8, 8, 4> {
+ $B2: {
+ %4:u32 = max %stride, 4u
+ %5:u32 = arrayLength %arr
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul %4, 7u
+ %8:u32 = add 0u, %7
+ %9:u32 = add %8, 4u
+ %10:bool = lte %9, %6
+ %11:ptr<function, subgroup_matrix_result<u8, 8, 4>, read_write> = var undef
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %12:subgroup_matrix_result<u8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 4>> %arr, 0u, true, %4
+ store %11, %12
+ exit_if # if_1
+ }
+ }
+ %13:subgroup_matrix_result<u8, 8, 4> = load %11
+ ret %13
+ }
+}
+)";
+
+ auto* expect_without_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<u8, 8, 4> {
+ $B2: {
+ %4:u32 = max %stride, 4u
+ %5:subgroup_matrix_result<u8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 4>> %arr, 0u, true, %4
+ ret %5
+ }
+}
+)";
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
+}
+
TEST_P(IR_RobustnessTest, SubgroupMatrixLoad_StorageRuntimeArray_DynamicStride_RowMajor) {
auto* arr = b.Var("arr", ty.ptr(storage, ty.array<f32>()));
arr->SetBindingPoint(0, 0);
@@ -3713,6 +4025,166 @@
EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
}
+TEST_P(IR_RobustnessTest, SubgroupMatrixLoad_i8_StorageRuntimeArray_DynamicStride_RowMajor) {
+ auto* arr = b.Var("arr", ty.ptr(storage, ty.array<i32>()));
+ arr->SetBindingPoint(0, 0);
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.i8(), 8u, 4u);
+
+ auto* func = b.Function("foo", mat);
+ auto* stride = b.FunctionParam<u32>("stride");
+ func->AppendParam(stride);
+ b.Append(func->Block(), [&] {
+ // Dynamic stride should be clamped with `max` even when predication is disabled.
+ auto* load = b.CallExplicit(mat, BuiltinFn::kSubgroupMatrixLoad, Vector{mat}, arr, 0_u,
+ false, stride);
+ b.Return(func, load);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<i8, 8, 4> {
+ $B2: {
+ %4:subgroup_matrix_result<i8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 4>> %arr, 0u, false, %stride
+ ret %4
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect_with_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<i8, 8, 4> {
+ $B2: {
+ %4:u32 = max %stride, 8u
+ %5:u32 = arrayLength %arr
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul %4, 3u
+ %8:u32 = add 0u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ %11:ptr<function, subgroup_matrix_result<i8, 8, 4>, read_write> = var undef
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %12:subgroup_matrix_result<i8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 4>> %arr, 0u, false, %4
+ store %11, %12
+ exit_if # if_1
+ }
+ }
+ %13:subgroup_matrix_result<i8, 8, 4> = load %11
+ ret %13
+ }
+}
+)";
+
+ auto* expect_without_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<i8, 8, 4> {
+ $B2: {
+ %4:u32 = max %stride, 8u
+ %5:subgroup_matrix_result<i8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 4>> %arr, 0u, false, %4
+ ret %5
+ }
+}
+)";
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
+}
+
+TEST_P(IR_RobustnessTest, SubgroupMatrixLoad_u8_StorageRuntimeArray_DynamicStride_RowMajor) {
+ auto* arr = b.Var("arr", ty.ptr(storage, ty.array<u32>()));
+ arr->SetBindingPoint(0, 0);
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.u8(), 8u, 4u);
+
+ auto* func = b.Function("foo", mat);
+ auto* stride = b.FunctionParam<u32>("stride");
+ func->AppendParam(stride);
+ b.Append(func->Block(), [&] {
+ // Dynamic stride should be clamped with `max` even when predication is disabled.
+ auto* load = b.CallExplicit(mat, BuiltinFn::kSubgroupMatrixLoad, Vector{mat}, arr, 0_u,
+ false, stride);
+ b.Return(func, load);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<u8, 8, 4> {
+ $B2: {
+ %4:subgroup_matrix_result<u8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 4>> %arr, 0u, false, %stride
+ ret %4
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect_with_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<u8, 8, 4> {
+ $B2: {
+ %4:u32 = max %stride, 8u
+ %5:u32 = arrayLength %arr
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul %4, 3u
+ %8:u32 = add 0u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ %11:ptr<function, subgroup_matrix_result<u8, 8, 4>, read_write> = var undef
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %12:subgroup_matrix_result<u8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 4>> %arr, 0u, false, %4
+ store %11, %12
+ exit_if # if_1
+ }
+ }
+ %13:subgroup_matrix_result<u8, 8, 4> = load %11
+ ret %13
+ }
+}
+)";
+
+ auto* expect_without_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<u8, 8, 4> {
+ $B2: {
+ %4:u32 = max %stride, 8u
+ %5:subgroup_matrix_result<u8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 4>> %arr, 0u, false, %4
+ ret %5
+ }
+}
+)";
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
+}
+
TEST_P(IR_RobustnessTest, SubgroupMatrixLoad_WorkgroupFixedArray_DynamicStride_ColMajor) {
auto* arr = b.Var("arr", ty.ptr(workgroup, ty.array<f32, 1024>()));
mod.root_block->Append(arr);
@@ -3790,6 +4262,160 @@
EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
}
+TEST_P(IR_RobustnessTest, SubgroupMatrixLoad_i8_WorkgroupFixedArray_DynamicStride_ColMajor) {
+ auto* arr = b.Var("arr", ty.ptr(workgroup, ty.array<i32, 1024>()));
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.i8(), 8u, 4u);
+
+ auto* func = b.Function("foo", mat);
+ auto* stride = b.FunctionParam<u32>("stride");
+ func->AppendParam(stride);
+ b.Append(func->Block(), [&] {
+ // Dynamic stride should be clamped with `max` even when predication is disabled.
+ auto* load = b.CallExplicit(mat, BuiltinFn::kSubgroupMatrixLoad, Vector{mat}, arr, 0_u,
+ true, stride);
+ b.Return(func, load);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<workgroup, array<i32, 1024>, read_write> = var undef
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<i8, 8, 4> {
+ $B2: {
+ %4:subgroup_matrix_result<i8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 4>> %arr, 0u, true, %stride
+ ret %4
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect_with_predication = R"(
+$B1: { # root
+ %arr:ptr<workgroup, array<i32, 1024>, read_write> = var undef
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<i8, 8, 4> {
+ $B2: {
+ %4:u32 = max %stride, 4u
+ %5:u32 = mul %4, 7u
+ %6:u32 = add 0u, %5
+ %7:u32 = add %6, 4u
+ %8:bool = lte %7, 4096u
+ %9:ptr<function, subgroup_matrix_result<i8, 8, 4>, read_write> = var undef
+ if %8 [t: $B3] { # if_1
+ $B3: { # true
+ %10:subgroup_matrix_result<i8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 4>> %arr, 0u, true, %4
+ store %9, %10
+ exit_if # if_1
+ }
+ }
+ %11:subgroup_matrix_result<i8, 8, 4> = load %9
+ ret %11
+ }
+}
+)";
+
+ auto* expect_without_predication = R"(
+$B1: { # root
+ %arr:ptr<workgroup, array<i32, 1024>, read_write> = var undef
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<i8, 8, 4> {
+ $B2: {
+ %4:u32 = max %stride, 4u
+ %5:subgroup_matrix_result<i8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 4>> %arr, 0u, true, %4
+ ret %5
+ }
+}
+)";
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
+}
+
+TEST_P(IR_RobustnessTest, SubgroupMatrixLoad_u8_WorkgroupFixedArray_DynamicStride_ColMajor) {
+ auto* arr = b.Var("arr", ty.ptr(workgroup, ty.array<u32, 1024>()));
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.u8(), 8u, 4u);
+
+ auto* func = b.Function("foo", mat);
+ auto* stride = b.FunctionParam<u32>("stride");
+ func->AppendParam(stride);
+ b.Append(func->Block(), [&] {
+ // Dynamic stride should be clamped with `max` even when predication is disabled.
+ auto* load = b.CallExplicit(mat, BuiltinFn::kSubgroupMatrixLoad, Vector{mat}, arr, 0_u,
+ true, stride);
+ b.Return(func, load);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<workgroup, array<u32, 1024>, read_write> = var undef
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<u8, 8, 4> {
+ $B2: {
+ %4:subgroup_matrix_result<u8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 4>> %arr, 0u, true, %stride
+ ret %4
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect_with_predication = R"(
+$B1: { # root
+ %arr:ptr<workgroup, array<u32, 1024>, read_write> = var undef
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<u8, 8, 4> {
+ $B2: {
+ %4:u32 = max %stride, 4u
+ %5:u32 = mul %4, 7u
+ %6:u32 = add 0u, %5
+ %7:u32 = add %6, 4u
+ %8:bool = lte %7, 4096u
+ %9:ptr<function, subgroup_matrix_result<u8, 8, 4>, read_write> = var undef
+ if %8 [t: $B3] { # if_1
+ $B3: { # true
+ %10:subgroup_matrix_result<u8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 4>> %arr, 0u, true, %4
+ store %9, %10
+ exit_if # if_1
+ }
+ }
+ %11:subgroup_matrix_result<u8, 8, 4> = load %9
+ ret %11
+ }
+}
+)";
+
+ auto* expect_without_predication = R"(
+$B1: { # root
+ %arr:ptr<workgroup, array<u32, 1024>, read_write> = var undef
+}
+
+%foo = func(%stride:u32):subgroup_matrix_result<u8, 8, 4> {
+ $B2: {
+ %4:u32 = max %stride, 4u
+ %5:subgroup_matrix_result<u8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 4>> %arr, 0u, true, %4
+ ret %5
+ }
+}
+)";
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
+}
+
// Test that we avoid any predication and clamping for fixed size arrays when all parameters are
// constant and in-bounds.
TEST_P(IR_RobustnessTest, SubgroupMatrixLoad_WorkgroupFixedArray_ConstStrideAndOffset) {
@@ -3830,6 +4456,82 @@
EXPECT_EQ(expect, str());
}
+TEST_P(IR_RobustnessTest, SubgroupMatrixLoad_i8_WorkgroupFixedArray_ConstStrideAndOffset) {
+ auto* arr = b.Var("arr", ty.ptr(workgroup, ty.array<i32, 1024>()));
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.i8(), 8u, 4u);
+
+ auto* func = b.Function("foo", mat);
+ b.Append(func->Block(), [&] {
+ // The final row will start at 1016. Another full stride will take it past the 1024 limit,
+ // but the transform should understand that only 8 elements are accessed on that row.
+ auto* load = b.CallExplicit(mat, BuiltinFn::kSubgroupMatrixLoad, Vector{mat}, arr, 920_u,
+ false, 32_u);
+ b.Return(func, load);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<workgroup, array<i32, 1024>, read_write> = var undef
+}
+
+%foo = func():subgroup_matrix_result<i8, 8, 4> {
+ $B2: {
+ %3:subgroup_matrix_result<i8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 4>> %arr, 920u, false, 32u
+ ret %3
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = src;
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(expect, str());
+}
+
+TEST_P(IR_RobustnessTest, SubgroupMatrixLoad_u8_WorkgroupFixedArray_ConstStrideAndOffset) {
+ auto* arr = b.Var("arr", ty.ptr(workgroup, ty.array<u32, 1024>()));
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.u8(), 8u, 4u);
+
+ auto* func = b.Function("foo", mat);
+ b.Append(func->Block(), [&] {
+ // The final row will start at 1016. Another full stride will take it past the 1024 limit,
+ // but the transform should understand that only 8 elements are accessed on that row.
+ auto* load = b.CallExplicit(mat, BuiltinFn::kSubgroupMatrixLoad, Vector{mat}, arr, 920_u,
+ false, 32_u);
+ b.Return(func, load);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<workgroup, array<u32, 1024>, read_write> = var undef
+}
+
+%foo = func():subgroup_matrix_result<u8, 8, 4> {
+ $B2: {
+ %3:subgroup_matrix_result<u8, 8, 4> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 4>> %arr, 920u, false, 32u
+ ret %3
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = src;
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(expect, str());
+}
+
TEST_P(IR_RobustnessTest, SubgroupMatrixStore_StorageRuntimeArray_ConstStride_ColMajor) {
auto* arr = b.Var("arr", ty.ptr(storage, ty.array<f32>()));
arr->SetBindingPoint(0, 0);
@@ -3903,6 +4605,154 @@
EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
}
+TEST_P(IR_RobustnessTest, SubgroupMatrixStore_i8_StorageRuntimeArray_ConstStride_ColMajor) {
+ auto* arr = b.Var("arr", ty.ptr(storage, ty.array<i32>()));
+ arr->SetBindingPoint(0, 0);
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.i8(), 8u, 4u);
+
+ auto* func = b.Function("foo", ty.void_());
+ auto* value = b.FunctionParam("value", mat);
+ func->AppendParam(value);
+ b.Append(func->Block(), [&] {
+ // Constant stride of 1 should be clamped to 4 even when predication is disabled.
+ b.Call(ty.void_(), BuiltinFn::kSubgroupMatrixStore, arr, 0_u, value, true, 1_u);
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<i8, 8, 4>):void {
+ $B2: {
+ %4:void = subgroupMatrixStore %arr, 0u, %value, true, 1u
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect_with_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<i8, 8, 4>):void {
+ $B2: {
+ %4:u32 = arrayLength %arr
+ %5:u32 = mul %4, 4u
+ %6:u32 = mul 4u, 7u
+ %7:u32 = add 0u, %6
+ %8:u32 = add %7, 4u
+ %9:bool = lte %8, %5
+ if %9 [t: $B3] { # if_1
+ $B3: { # true
+ %10:void = subgroupMatrixStore %arr, 0u, %value, true, 4u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+)";
+
+ auto* expect_without_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<i8, 8, 4>):void {
+ $B2: {
+ %4:void = subgroupMatrixStore %arr, 0u, %value, true, 4u
+ ret
+ }
+}
+)";
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
+}
+
+TEST_P(IR_RobustnessTest, SubgroupMatrixStore_u8_StorageRuntimeArray_ConstStride_ColMajor) {
+ auto* arr = b.Var("arr", ty.ptr(storage, ty.array<u32>()));
+ arr->SetBindingPoint(0, 0);
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.u8(), 8u, 4u);
+
+ auto* func = b.Function("foo", ty.void_());
+ auto* value = b.FunctionParam("value", mat);
+ func->AppendParam(value);
+ b.Append(func->Block(), [&] {
+ // Constant stride of 1 should be clamped to 4 even when predication is disabled.
+ b.Call(ty.void_(), BuiltinFn::kSubgroupMatrixStore, arr, 0_u, value, true, 1_u);
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<u8, 8, 4>):void {
+ $B2: {
+ %4:void = subgroupMatrixStore %arr, 0u, %value, true, 1u
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect_with_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<u8, 8, 4>):void {
+ $B2: {
+ %4:u32 = arrayLength %arr
+ %5:u32 = mul %4, 4u
+ %6:u32 = mul 4u, 7u
+ %7:u32 = add 0u, %6
+ %8:u32 = add %7, 4u
+ %9:bool = lte %8, %5
+ if %9 [t: $B3] { # if_1
+ $B3: { # true
+ %10:void = subgroupMatrixStore %arr, 0u, %value, true, 4u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+)";
+
+ auto* expect_without_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<u8, 8, 4>):void {
+ $B2: {
+ %4:void = subgroupMatrixStore %arr, 0u, %value, true, 4u
+ ret
+ }
+}
+)";
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
+}
+
TEST_P(IR_RobustnessTest, SubgroupMatrixStore_StorageRuntimeArray_DynamicStride_ColMajor) {
auto* arr = b.Var("arr", ty.ptr(storage, ty.array<f32>()));
arr->SetBindingPoint(0, 0);
@@ -3980,6 +4830,162 @@
EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
}
+TEST_P(IR_RobustnessTest, SubgroupMatrixStore_i8_StorageRuntimeArray_DynamicStride_ColMajor) {
+ auto* arr = b.Var("arr", ty.ptr(storage, ty.array<i32>()));
+ arr->SetBindingPoint(0, 0);
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.i8(), 8u, 4u);
+
+ auto* func = b.Function("foo", ty.void_());
+ auto* value = b.FunctionParam("value", mat);
+ auto* stride = b.FunctionParam<u32>("stride");
+ func->AppendParam(value);
+ func->AppendParam(stride);
+ b.Append(func->Block(), [&] {
+ // Dynamic stride should be clamped with `max` even when predication is disabled.
+ b.Call(ty.void_(), BuiltinFn::kSubgroupMatrixStore, arr, 0_u, value, true, stride);
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<i8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:void = subgroupMatrixStore %arr, 0u, %value, true, %stride
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect_with_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<i8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:u32 = max %stride, 4u
+ %6:u32 = arrayLength %arr
+ %7:u32 = mul %6, 4u
+ %8:u32 = mul %5, 7u
+ %9:u32 = add 0u, %8
+ %10:u32 = add %9, 4u
+ %11:bool = lte %10, %7
+ if %11 [t: $B3] { # if_1
+ $B3: { # true
+ %12:void = subgroupMatrixStore %arr, 0u, %value, true, %5
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+)";
+
+ auto* expect_without_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<i8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:u32 = max %stride, 4u
+ %6:void = subgroupMatrixStore %arr, 0u, %value, true, %5
+ ret
+ }
+}
+)";
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
+}
+
+TEST_P(IR_RobustnessTest, SubgroupMatrixStore_u8_StorageRuntimeArray_DynamicStride_ColMajor) {
+ auto* arr = b.Var("arr", ty.ptr(storage, ty.array<u32>()));
+ arr->SetBindingPoint(0, 0);
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.u8(), 8u, 4u);
+
+ auto* func = b.Function("foo", ty.void_());
+ auto* value = b.FunctionParam("value", mat);
+ auto* stride = b.FunctionParam<u32>("stride");
+ func->AppendParam(value);
+ func->AppendParam(stride);
+ b.Append(func->Block(), [&] {
+ // Dynamic stride should be clamped with `max` even when predication is disabled.
+ b.Call(ty.void_(), BuiltinFn::kSubgroupMatrixStore, arr, 0_u, value, true, stride);
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<u8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:void = subgroupMatrixStore %arr, 0u, %value, true, %stride
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect_with_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<u8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:u32 = max %stride, 4u
+ %6:u32 = arrayLength %arr
+ %7:u32 = mul %6, 4u
+ %8:u32 = mul %5, 7u
+ %9:u32 = add 0u, %8
+ %10:u32 = add %9, 4u
+ %11:bool = lte %10, %7
+ if %11 [t: $B3] { # if_1
+ $B3: { # true
+ %12:void = subgroupMatrixStore %arr, 0u, %value, true, %5
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+)";
+
+ auto* expect_without_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<u8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:u32 = max %stride, 4u
+ %6:void = subgroupMatrixStore %arr, 0u, %value, true, %5
+ ret
+ }
+}
+)";
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
+}
+
TEST_P(IR_RobustnessTest, SubgroupMatrixStore_StorageRuntimeArray_DynamicStride_RowMajor) {
auto* arr = b.Var("arr", ty.ptr(storage, ty.array<f32>()));
arr->SetBindingPoint(0, 0);
@@ -4057,6 +5063,162 @@
EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
}
+TEST_P(IR_RobustnessTest, SubgroupMatrixStore_i8_StorageRuntimeArray_DynamicStride_RowMajor) {
+ auto* arr = b.Var("arr", ty.ptr(storage, ty.array<i32>()));
+ arr->SetBindingPoint(0, 0);
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.i8(), 8u, 4u);
+
+ auto* func = b.Function("foo", ty.void_());
+ auto* value = b.FunctionParam("value", mat);
+ auto* stride = b.FunctionParam<u32>("stride");
+ func->AppendParam(value);
+ func->AppendParam(stride);
+ b.Append(func->Block(), [&] {
+ // Dynamic stride should be clamped with `max` even when predication is disabled.
+ b.Call(ty.void_(), BuiltinFn::kSubgroupMatrixStore, arr, 0_u, value, false, stride);
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<i8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:void = subgroupMatrixStore %arr, 0u, %value, false, %stride
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect_with_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<i8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:u32 = max %stride, 8u
+ %6:u32 = arrayLength %arr
+ %7:u32 = mul %6, 4u
+ %8:u32 = mul %5, 3u
+ %9:u32 = add 0u, %8
+ %10:u32 = add %9, 8u
+ %11:bool = lte %10, %7
+ if %11 [t: $B3] { # if_1
+ $B3: { # true
+ %12:void = subgroupMatrixStore %arr, 0u, %value, false, %5
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+)";
+
+ auto* expect_without_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<i32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<i8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:u32 = max %stride, 8u
+ %6:void = subgroupMatrixStore %arr, 0u, %value, false, %5
+ ret
+ }
+}
+)";
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
+}
+
+TEST_P(IR_RobustnessTest, SubgroupMatrixStore_u8_StorageRuntimeArray_DynamicStride_RowMajor) {
+ auto* arr = b.Var("arr", ty.ptr(storage, ty.array<u32>()));
+ arr->SetBindingPoint(0, 0);
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.u8(), 8u, 4u);
+
+ auto* func = b.Function("foo", ty.void_());
+ auto* value = b.FunctionParam("value", mat);
+ auto* stride = b.FunctionParam<u32>("stride");
+ func->AppendParam(value);
+ func->AppendParam(stride);
+ b.Append(func->Block(), [&] {
+ // Dynamic stride should be clamped with `max` even when predication is disabled.
+ b.Call(ty.void_(), BuiltinFn::kSubgroupMatrixStore, arr, 0_u, value, false, stride);
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<u8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:void = subgroupMatrixStore %arr, 0u, %value, false, %stride
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect_with_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<u8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:u32 = max %stride, 8u
+ %6:u32 = arrayLength %arr
+ %7:u32 = mul %6, 4u
+ %8:u32 = mul %5, 3u
+ %9:u32 = add 0u, %8
+ %10:u32 = add %9, 8u
+ %11:bool = lte %10, %7
+ if %11 [t: $B3] { # if_1
+ $B3: { # true
+ %12:void = subgroupMatrixStore %arr, 0u, %value, false, %5
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+)";
+
+ auto* expect_without_predication = R"(
+$B1: { # root
+ %arr:ptr<storage, array<u32>, read_write> = var undef @binding_point(0, 0)
+}
+
+%foo = func(%value:subgroup_matrix_result<u8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:u32 = max %stride, 8u
+ %6:void = subgroupMatrixStore %arr, 0u, %value, false, %5
+ ret
+ }
+}
+)";
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
+}
+
TEST_P(IR_RobustnessTest, SubgroupMatrixStore_WorkgroupFixedArray_DynamicStride_ColMajor) {
auto* arr = b.Var("arr", ty.ptr(workgroup, ty.array<f32, 1024>()));
mod.root_block->Append(arr);
@@ -4132,6 +5294,156 @@
EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
}
+TEST_P(IR_RobustnessTest, SubgroupMatrixStore_i8_WorkgroupFixedArray_DynamicStride_ColMajor) {
+ auto* arr = b.Var("arr", ty.ptr(workgroup, ty.array<i32, 1024>()));
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.i8(), 8u, 4u);
+
+ auto* func = b.Function("foo", ty.void_());
+ auto* value = b.FunctionParam("value", mat);
+ auto* stride = b.FunctionParam<u32>("stride");
+ func->AppendParam(value);
+ func->AppendParam(stride);
+ b.Append(func->Block(), [&] {
+ // Dynamic stride should be clamped with `max` even when predication is disabled.
+ b.Call(ty.void_(), BuiltinFn::kSubgroupMatrixStore, arr, 0_u, value, true, stride);
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<workgroup, array<i32, 1024>, read_write> = var undef
+}
+
+%foo = func(%value:subgroup_matrix_result<i8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:void = subgroupMatrixStore %arr, 0u, %value, true, %stride
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect_with_predication = R"(
+$B1: { # root
+ %arr:ptr<workgroup, array<i32, 1024>, read_write> = var undef
+}
+
+%foo = func(%value:subgroup_matrix_result<i8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:u32 = max %stride, 4u
+ %6:u32 = mul %5, 7u
+ %7:u32 = add 0u, %6
+ %8:u32 = add %7, 4u
+ %9:bool = lte %8, 4096u
+ if %9 [t: $B3] { # if_1
+ $B3: { # true
+ %10:void = subgroupMatrixStore %arr, 0u, %value, true, %5
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+)";
+
+ auto* expect_without_predication = R"(
+$B1: { # root
+ %arr:ptr<workgroup, array<i32, 1024>, read_write> = var undef
+}
+
+%foo = func(%value:subgroup_matrix_result<i8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:u32 = max %stride, 4u
+ %6:void = subgroupMatrixStore %arr, 0u, %value, true, %5
+ ret
+ }
+}
+)";
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
+}
+
+TEST_P(IR_RobustnessTest, SubgroupMatrixStore_u8_WorkgroupFixedArray_DynamicStride_ColMajor) {
+ auto* arr = b.Var("arr", ty.ptr(workgroup, ty.array<u32, 1024>()));
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.u8(), 8u, 4u);
+
+ auto* func = b.Function("foo", ty.void_());
+ auto* value = b.FunctionParam("value", mat);
+ auto* stride = b.FunctionParam<u32>("stride");
+ func->AppendParam(value);
+ func->AppendParam(stride);
+ b.Append(func->Block(), [&] {
+ // Dynamic stride should be clamped with `max` even when predication is disabled.
+ b.Call(ty.void_(), BuiltinFn::kSubgroupMatrixStore, arr, 0_u, value, true, stride);
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<workgroup, array<u32, 1024>, read_write> = var undef
+}
+
+%foo = func(%value:subgroup_matrix_result<u8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:void = subgroupMatrixStore %arr, 0u, %value, true, %stride
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect_with_predication = R"(
+$B1: { # root
+ %arr:ptr<workgroup, array<u32, 1024>, read_write> = var undef
+}
+
+%foo = func(%value:subgroup_matrix_result<u8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:u32 = max %stride, 4u
+ %6:u32 = mul %5, 7u
+ %7:u32 = add 0u, %6
+ %8:u32 = add %7, 4u
+ %9:bool = lte %8, 4096u
+ if %9 [t: $B3] { # if_1
+ $B3: { # true
+ %10:void = subgroupMatrixStore %arr, 0u, %value, true, %5
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+)";
+
+ auto* expect_without_predication = R"(
+$B1: { # root
+ %arr:ptr<workgroup, array<u32, 1024>, read_write> = var undef
+}
+
+%foo = func(%value:subgroup_matrix_result<u8, 8, 4>, %stride:u32):void {
+ $B2: {
+ %5:u32 = max %stride, 4u
+ %6:void = subgroupMatrixStore %arr, 0u, %value, true, %5
+ ret
+ }
+}
+)";
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(GetParam() ? expect_with_predication : expect_without_predication, str());
+}
+
// Test that we avoid any predication and clamping for fixed size arrays when all parameters are
// constant and in-bounds.
TEST_P(IR_RobustnessTest, SubgroupMatrixStore_WorkgroupFixedArray_ConstStrideAndOffset) {
@@ -4173,6 +5485,84 @@
EXPECT_EQ(expect, str());
}
+TEST_P(IR_RobustnessTest, SubgroupMatrixStore_i8_WorkgroupFixedArray_ConstStrideAndOffset) {
+ auto* arr = b.Var("arr", ty.ptr(workgroup, ty.array<i32, 1024>()));
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.i8(), 8u, 4u);
+
+ auto* func = b.Function("foo", ty.void_());
+ auto* value = b.FunctionParam("value", mat);
+ func->AppendParam(value);
+ b.Append(func->Block(), [&] {
+ // The final row will start at 1016. Another full stride will take it past the 1024 limit,
+ // but the transform should understand that only 8 elements are accessed on that row.
+ b.Call(ty.void_(), BuiltinFn::kSubgroupMatrixStore, arr, 920_u, value, false, 32_u);
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<workgroup, array<i32, 1024>, read_write> = var undef
+}
+
+%foo = func(%value:subgroup_matrix_result<i8, 8, 4>):void {
+ $B2: {
+ %4:void = subgroupMatrixStore %arr, 920u, %value, false, 32u
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = src;
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(expect, str());
+}
+
+TEST_P(IR_RobustnessTest, SubgroupMatrixStore_u8_WorkgroupFixedArray_ConstStrideAndOffset) {
+ auto* arr = b.Var("arr", ty.ptr(workgroup, ty.array<u32, 1024>()));
+ mod.root_block->Append(arr);
+
+ auto* mat = ty.subgroup_matrix_result(ty.u8(), 8u, 4u);
+
+ auto* func = b.Function("foo", ty.void_());
+ auto* value = b.FunctionParam("value", mat);
+ func->AppendParam(value);
+ b.Append(func->Block(), [&] {
+ // The final row will start at 1016. Another full stride will take it past the 1024 limit,
+ // but the transform should understand that only 8 elements are accessed on that row.
+ b.Call(ty.void_(), BuiltinFn::kSubgroupMatrixStore, arr, 920_u, value, false, 32_u);
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %arr:ptr<workgroup, array<u32, 1024>, read_write> = var undef
+}
+
+%foo = func(%value:subgroup_matrix_result<u8, 8, 4>):void {
+ $B2: {
+ %4:void = subgroupMatrixStore %arr, 920u, %value, false, 32u
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = src;
+
+ RobustnessConfig cfg;
+ cfg.predicate_subgroup_matrix = GetParam();
+ Run(Robustness, cfg);
+
+ EXPECT_EQ(expect, str());
+}
+
TEST_F(IR_RobustnessWithIntegerRangeAnalysisTest, AccessArrayWithIndex_MaxBound_Equal_Limit) {
auto* func = b.Function("func", ty.void_());
b.Append(func->Block(), [&] {
diff --git a/src/tint/lang/wgsl/intrinsic/data.cc b/src/tint/lang/wgsl/intrinsic/data.cc
index 7b2213c..7c7991b 100644
--- a/src/tint/lang/wgsl/intrinsic/data.cc
+++ b/src/tint/lang/wgsl/intrinsic/data.cc
@@ -2073,329 +2073,365 @@
/* [7] */ MatcherIndex(29),
/* [8] */ MatcherIndex(18),
/* [9] */ MatcherIndex(33),
- /* [10] */ MatcherIndex(1),
- /* [11] */ MatcherIndex(4),
- /* [12] */ MatcherIndex(16),
- /* [13] */ MatcherIndex(0),
+ /* [10] */ MatcherIndex(11),
+ /* [11] */ MatcherIndex(5),
+ /* [12] */ MatcherIndex(15),
+ /* [13] */ MatcherIndex(77),
/* [14] */ MatcherIndex(29),
- /* [15] */ MatcherIndex(19),
- /* [16] */ MatcherIndex(32),
- /* [17] */ MatcherIndex(0),
- /* [18] */ MatcherIndex(1),
- /* [19] */ MatcherIndex(29),
- /* [20] */ MatcherIndex(20),
- /* [21] */ MatcherIndex(31),
- /* [22] */ MatcherIndex(0),
- /* [23] */ MatcherIndex(14),
- /* [24] */ MatcherIndex(29),
- /* [25] */ MatcherIndex(1),
- /* [26] */ MatcherIndex(31),
+ /* [15] */ MatcherIndex(18),
+ /* [16] */ MatcherIndex(33),
+ /* [17] */ MatcherIndex(12),
+ /* [18] */ MatcherIndex(5),
+ /* [19] */ MatcherIndex(15),
+ /* [20] */ MatcherIndex(1),
+ /* [21] */ MatcherIndex(29),
+ /* [22] */ MatcherIndex(18),
+ /* [23] */ MatcherIndex(33),
+ /* [24] */ MatcherIndex(1),
+ /* [25] */ MatcherIndex(4),
+ /* [26] */ MatcherIndex(16),
/* [27] */ MatcherIndex(0),
- /* [28] */ MatcherIndex(14),
- /* [29] */ MatcherIndex(60),
- /* [30] */ MatcherIndex(1),
- /* [31] */ MatcherIndex(2),
- /* [32] */ MatcherIndex(3),
- /* [33] */ MatcherIndex(4),
- /* [34] */ MatcherIndex(29),
- /* [35] */ MatcherIndex(19),
- /* [36] */ MatcherIndex(32),
- /* [37] */ MatcherIndex(2),
- /* [38] */ MatcherIndex(15),
- /* [39] */ MatcherIndex(77),
- /* [40] */ MatcherIndex(29),
- /* [41] */ MatcherIndex(19),
- /* [42] */ MatcherIndex(32),
- /* [43] */ MatcherIndex(1),
- /* [44] */ MatcherIndex(16),
- /* [45] */ MatcherIndex(12),
- /* [46] */ MatcherIndex(60),
- /* [47] */ MatcherIndex(0),
- /* [48] */ MatcherIndex(1),
- /* [49] */ MatcherIndex(2),
- /* [50] */ MatcherIndex(3),
- /* [51] */ MatcherIndex(60),
- /* [52] */ MatcherIndex(8),
- /* [53] */ MatcherIndex(0),
- /* [54] */ MatcherIndex(2),
- /* [55] */ MatcherIndex(3),
- /* [56] */ MatcherIndex(60),
- /* [57] */ MatcherIndex(6),
+ /* [28] */ MatcherIndex(29),
+ /* [29] */ MatcherIndex(18),
+ /* [30] */ MatcherIndex(33),
+ /* [31] */ MatcherIndex(11),
+ /* [32] */ MatcherIndex(4),
+ /* [33] */ MatcherIndex(16),
+ /* [34] */ MatcherIndex(12),
+ /* [35] */ MatcherIndex(29),
+ /* [36] */ MatcherIndex(18),
+ /* [37] */ MatcherIndex(33),
+ /* [38] */ MatcherIndex(12),
+ /* [39] */ MatcherIndex(4),
+ /* [40] */ MatcherIndex(16),
+ /* [41] */ MatcherIndex(13),
+ /* [42] */ MatcherIndex(29),
+ /* [43] */ MatcherIndex(19),
+ /* [44] */ MatcherIndex(32),
+ /* [45] */ MatcherIndex(0),
+ /* [46] */ MatcherIndex(1),
+ /* [47] */ MatcherIndex(29),
+ /* [48] */ MatcherIndex(20),
+ /* [49] */ MatcherIndex(31),
+ /* [50] */ MatcherIndex(0),
+ /* [51] */ MatcherIndex(14),
+ /* [52] */ MatcherIndex(29),
+ /* [53] */ MatcherIndex(1),
+ /* [54] */ MatcherIndex(31),
+ /* [55] */ MatcherIndex(0),
+ /* [56] */ MatcherIndex(14),
+ /* [57] */ MatcherIndex(60),
/* [58] */ MatcherIndex(1),
- /* [59] */ MatcherIndex(4),
+ /* [59] */ MatcherIndex(2),
/* [60] */ MatcherIndex(3),
- /* [61] */ MatcherIndex(60),
- /* [62] */ MatcherIndex(7),
- /* [63] */ MatcherIndex(1),
- /* [64] */ MatcherIndex(2),
- /* [65] */ MatcherIndex(4),
- /* [66] */ MatcherIndex(60),
- /* [67] */ MatcherIndex(8),
- /* [68] */ MatcherIndex(1),
- /* [69] */ MatcherIndex(2),
- /* [70] */ MatcherIndex(3),
- /* [71] */ MatcherIndex(60),
- /* [72] */ MatcherIndex(6),
- /* [73] */ MatcherIndex(0),
- /* [74] */ MatcherIndex(4),
- /* [75] */ MatcherIndex(3),
- /* [76] */ MatcherIndex(60),
- /* [77] */ MatcherIndex(7),
- /* [78] */ MatcherIndex(0),
- /* [79] */ MatcherIndex(2),
- /* [80] */ MatcherIndex(4),
- /* [81] */ MatcherIndex(28),
- /* [82] */ MatcherIndex(0),
- /* [83] */ MatcherIndex(0),
- /* [84] */ MatcherIndex(1),
- /* [85] */ MatcherIndex(28),
- /* [86] */ MatcherIndex(1),
+ /* [61] */ MatcherIndex(4),
+ /* [62] */ MatcherIndex(29),
+ /* [63] */ MatcherIndex(19),
+ /* [64] */ MatcherIndex(32),
+ /* [65] */ MatcherIndex(2),
+ /* [66] */ MatcherIndex(15),
+ /* [67] */ MatcherIndex(13),
+ /* [68] */ MatcherIndex(29),
+ /* [69] */ MatcherIndex(19),
+ /* [70] */ MatcherIndex(32),
+ /* [71] */ MatcherIndex(11),
+ /* [72] */ MatcherIndex(15),
+ /* [73] */ MatcherIndex(12),
+ /* [74] */ MatcherIndex(29),
+ /* [75] */ MatcherIndex(19),
+ /* [76] */ MatcherIndex(32),
+ /* [77] */ MatcherIndex(12),
+ /* [78] */ MatcherIndex(15),
+ /* [79] */ MatcherIndex(11),
+ /* [80] */ MatcherIndex(29),
+ /* [81] */ MatcherIndex(19),
+ /* [82] */ MatcherIndex(32),
+ /* [83] */ MatcherIndex(1),
+ /* [84] */ MatcherIndex(16),
+ /* [85] */ MatcherIndex(11),
+ /* [86] */ MatcherIndex(60),
/* [87] */ MatcherIndex(0),
- /* [88] */ MatcherIndex(2),
- /* [89] */ MatcherIndex(28),
- /* [90] */ MatcherIndex(0),
- /* [91] */ MatcherIndex(1),
- /* [92] */ MatcherIndex(2),
- /* [93] */ MatcherIndex(29),
- /* [94] */ MatcherIndex(20),
- /* [95] */ MatcherIndex(0),
- /* [96] */ MatcherIndex(14),
+ /* [88] */ MatcherIndex(1),
+ /* [89] */ MatcherIndex(2),
+ /* [90] */ MatcherIndex(3),
+ /* [91] */ MatcherIndex(29),
+ /* [92] */ MatcherIndex(19),
+ /* [93] */ MatcherIndex(32),
+ /* [94] */ MatcherIndex(11),
+ /* [95] */ MatcherIndex(16),
+ /* [96] */ MatcherIndex(1),
/* [97] */ MatcherIndex(29),
- /* [98] */ MatcherIndex(0),
- /* [99] */ MatcherIndex(1),
- /* [100] */ MatcherIndex(2),
- /* [101] */ MatcherIndex(30),
- /* [102] */ MatcherIndex(0),
- /* [103] */ MatcherIndex(1),
- /* [104] */ MatcherIndex(2),
- /* [105] */ MatcherIndex(28),
- /* [106] */ MatcherIndex(1),
- /* [107] */ MatcherIndex(2),
- /* [108] */ MatcherIndex(0),
- /* [109] */ MatcherIndex(28),
- /* [110] */ MatcherIndex(2),
- /* [111] */ MatcherIndex(3),
- /* [112] */ MatcherIndex(0),
- /* [113] */ MatcherIndex(28),
- /* [114] */ MatcherIndex(1),
- /* [115] */ MatcherIndex(3),
- /* [116] */ MatcherIndex(0),
- /* [117] */ MatcherIndex(28),
- /* [118] */ MatcherIndex(2),
- /* [119] */ MatcherIndex(1),
- /* [120] */ MatcherIndex(0),
- /* [121] */ MatcherIndex(27),
- /* [122] */ MatcherIndex(0),
- /* [123] */ MatcherIndex(1),
- /* [124] */ MatcherIndex(27),
+ /* [98] */ MatcherIndex(19),
+ /* [99] */ MatcherIndex(32),
+ /* [100] */ MatcherIndex(12),
+ /* [101] */ MatcherIndex(16),
+ /* [102] */ MatcherIndex(9),
+ /* [103] */ MatcherIndex(60),
+ /* [104] */ MatcherIndex(8),
+ /* [105] */ MatcherIndex(0),
+ /* [106] */ MatcherIndex(2),
+ /* [107] */ MatcherIndex(3),
+ /* [108] */ MatcherIndex(60),
+ /* [109] */ MatcherIndex(6),
+ /* [110] */ MatcherIndex(1),
+ /* [111] */ MatcherIndex(4),
+ /* [112] */ MatcherIndex(3),
+ /* [113] */ MatcherIndex(60),
+ /* [114] */ MatcherIndex(7),
+ /* [115] */ MatcherIndex(1),
+ /* [116] */ MatcherIndex(2),
+ /* [117] */ MatcherIndex(4),
+ /* [118] */ MatcherIndex(60),
+ /* [119] */ MatcherIndex(8),
+ /* [120] */ MatcherIndex(1),
+ /* [121] */ MatcherIndex(2),
+ /* [122] */ MatcherIndex(3),
+ /* [123] */ MatcherIndex(60),
+ /* [124] */ MatcherIndex(6),
/* [125] */ MatcherIndex(0),
- /* [126] */ MatcherIndex(6),
- /* [127] */ MatcherIndex(27),
- /* [128] */ MatcherIndex(1),
- /* [129] */ MatcherIndex(0),
- /* [130] */ MatcherIndex(27),
- /* [131] */ MatcherIndex(1),
- /* [132] */ MatcherIndex(77),
- /* [133] */ MatcherIndex(27),
- /* [134] */ MatcherIndex(1),
- /* [135] */ MatcherIndex(2),
- /* [136] */ MatcherIndex(27),
- /* [137] */ MatcherIndex(1),
- /* [138] */ MatcherIndex(14),
- /* [139] */ MatcherIndex(27),
- /* [140] */ MatcherIndex(1),
- /* [141] */ MatcherIndex(12),
- /* [142] */ MatcherIndex(27),
+ /* [126] */ MatcherIndex(4),
+ /* [127] */ MatcherIndex(3),
+ /* [128] */ MatcherIndex(60),
+ /* [129] */ MatcherIndex(7),
+ /* [130] */ MatcherIndex(0),
+ /* [131] */ MatcherIndex(2),
+ /* [132] */ MatcherIndex(4),
+ /* [133] */ MatcherIndex(28),
+ /* [134] */ MatcherIndex(0),
+ /* [135] */ MatcherIndex(0),
+ /* [136] */ MatcherIndex(1),
+ /* [137] */ MatcherIndex(28),
+ /* [138] */ MatcherIndex(1),
+ /* [139] */ MatcherIndex(0),
+ /* [140] */ MatcherIndex(2),
+ /* [141] */ MatcherIndex(28),
+ /* [142] */ MatcherIndex(0),
/* [143] */ MatcherIndex(1),
- /* [144] */ MatcherIndex(9),
- /* [145] */ MatcherIndex(27),
- /* [146] */ MatcherIndex(0),
- /* [147] */ MatcherIndex(13),
- /* [148] */ MatcherIndex(58),
- /* [149] */ MatcherIndex(0),
- /* [150] */ MatcherIndex(1),
- /* [151] */ MatcherIndex(27),
- /* [152] */ MatcherIndex(0),
- /* [153] */ MatcherIndex(2),
- /* [154] */ MatcherIndex(56),
- /* [155] */ MatcherIndex(0),
- /* [156] */ MatcherIndex(1),
- /* [157] */ MatcherIndex(49),
- /* [158] */ MatcherIndex(0),
- /* [159] */ MatcherIndex(1),
- /* [160] */ MatcherIndex(50),
- /* [161] */ MatcherIndex(0),
- /* [162] */ MatcherIndex(1),
- /* [163] */ MatcherIndex(51),
+ /* [144] */ MatcherIndex(2),
+ /* [145] */ MatcherIndex(29),
+ /* [146] */ MatcherIndex(20),
+ /* [147] */ MatcherIndex(0),
+ /* [148] */ MatcherIndex(14),
+ /* [149] */ MatcherIndex(29),
+ /* [150] */ MatcherIndex(0),
+ /* [151] */ MatcherIndex(1),
+ /* [152] */ MatcherIndex(2),
+ /* [153] */ MatcherIndex(30),
+ /* [154] */ MatcherIndex(0),
+ /* [155] */ MatcherIndex(1),
+ /* [156] */ MatcherIndex(2),
+ /* [157] */ MatcherIndex(28),
+ /* [158] */ MatcherIndex(1),
+ /* [159] */ MatcherIndex(2),
+ /* [160] */ MatcherIndex(0),
+ /* [161] */ MatcherIndex(28),
+ /* [162] */ MatcherIndex(2),
+ /* [163] */ MatcherIndex(3),
/* [164] */ MatcherIndex(0),
- /* [165] */ MatcherIndex(1),
- /* [166] */ MatcherIndex(52),
- /* [167] */ MatcherIndex(0),
- /* [168] */ MatcherIndex(1),
- /* [169] */ MatcherIndex(49),
- /* [170] */ MatcherIndex(1),
- /* [171] */ MatcherIndex(2),
- /* [172] */ MatcherIndex(50),
- /* [173] */ MatcherIndex(1),
- /* [174] */ MatcherIndex(2),
- /* [175] */ MatcherIndex(51),
- /* [176] */ MatcherIndex(1),
- /* [177] */ MatcherIndex(2),
- /* [178] */ MatcherIndex(52),
- /* [179] */ MatcherIndex(1),
- /* [180] */ MatcherIndex(2),
- /* [181] */ MatcherIndex(27),
- /* [182] */ MatcherIndex(2),
- /* [183] */ MatcherIndex(0),
- /* [184] */ MatcherIndex(27),
- /* [185] */ MatcherIndex(1),
- /* [186] */ MatcherIndex(6),
- /* [187] */ MatcherIndex(17),
- /* [188] */ MatcherIndex(14),
- /* [189] */ MatcherIndex(15),
- /* [190] */ MatcherIndex(1),
- /* [191] */ MatcherIndex(57),
- /* [192] */ MatcherIndex(0),
- /* [193] */ MatcherIndex(55),
- /* [194] */ MatcherIndex(0),
- /* [195] */ MatcherIndex(15),
- /* [196] */ MatcherIndex(13),
- /* [197] */ MatcherIndex(17),
- /* [198] */ MatcherIndex(13),
- /* [199] */ MatcherIndex(17),
- /* [200] */ MatcherIndex(11),
- /* [201] */ MatcherIndex(17),
- /* [202] */ MatcherIndex(12),
- /* [203] */ MatcherIndex(37),
+ /* [165] */ MatcherIndex(28),
+ /* [166] */ MatcherIndex(1),
+ /* [167] */ MatcherIndex(3),
+ /* [168] */ MatcherIndex(0),
+ /* [169] */ MatcherIndex(28),
+ /* [170] */ MatcherIndex(2),
+ /* [171] */ MatcherIndex(1),
+ /* [172] */ MatcherIndex(0),
+ /* [173] */ MatcherIndex(27),
+ /* [174] */ MatcherIndex(0),
+ /* [175] */ MatcherIndex(1),
+ /* [176] */ MatcherIndex(27),
+ /* [177] */ MatcherIndex(0),
+ /* [178] */ MatcherIndex(6),
+ /* [179] */ MatcherIndex(27),
+ /* [180] */ MatcherIndex(1),
+ /* [181] */ MatcherIndex(0),
+ /* [182] */ MatcherIndex(27),
+ /* [183] */ MatcherIndex(1),
+ /* [184] */ MatcherIndex(77),
+ /* [185] */ MatcherIndex(27),
+ /* [186] */ MatcherIndex(1),
+ /* [187] */ MatcherIndex(2),
+ /* [188] */ MatcherIndex(27),
+ /* [189] */ MatcherIndex(1),
+ /* [190] */ MatcherIndex(14),
+ /* [191] */ MatcherIndex(27),
+ /* [192] */ MatcherIndex(1),
+ /* [193] */ MatcherIndex(12),
+ /* [194] */ MatcherIndex(27),
+ /* [195] */ MatcherIndex(1),
+ /* [196] */ MatcherIndex(9),
+ /* [197] */ MatcherIndex(27),
+ /* [198] */ MatcherIndex(0),
+ /* [199] */ MatcherIndex(13),
+ /* [200] */ MatcherIndex(58),
+ /* [201] */ MatcherIndex(0),
+ /* [202] */ MatcherIndex(1),
+ /* [203] */ MatcherIndex(27),
/* [204] */ MatcherIndex(0),
- /* [205] */ MatcherIndex(15),
- /* [206] */ MatcherIndex(12),
- /* [207] */ MatcherIndex(38),
- /* [208] */ MatcherIndex(0),
- /* [209] */ MatcherIndex(39),
+ /* [205] */ MatcherIndex(2),
+ /* [206] */ MatcherIndex(56),
+ /* [207] */ MatcherIndex(0),
+ /* [208] */ MatcherIndex(1),
+ /* [209] */ MatcherIndex(49),
/* [210] */ MatcherIndex(0),
- /* [211] */ MatcherIndex(40),
- /* [212] */ MatcherIndex(0),
- /* [213] */ MatcherIndex(41),
- /* [214] */ MatcherIndex(0),
- /* [215] */ MatcherIndex(42),
+ /* [211] */ MatcherIndex(1),
+ /* [212] */ MatcherIndex(50),
+ /* [213] */ MatcherIndex(0),
+ /* [214] */ MatcherIndex(1),
+ /* [215] */ MatcherIndex(51),
/* [216] */ MatcherIndex(0),
- /* [217] */ MatcherIndex(43),
- /* [218] */ MatcherIndex(0),
- /* [219] */ MatcherIndex(17),
- /* [220] */ MatcherIndex(0),
- /* [221] */ MatcherIndex(15),
- /* [222] */ MatcherIndex(11),
- /* [223] */ MatcherIndex(16),
- /* [224] */ MatcherIndex(13),
- /* [225] */ MatcherIndex(37),
- /* [226] */ MatcherIndex(13),
- /* [227] */ MatcherIndex(38),
- /* [228] */ MatcherIndex(13),
- /* [229] */ MatcherIndex(39),
- /* [230] */ MatcherIndex(13),
- /* [231] */ MatcherIndex(40),
- /* [232] */ MatcherIndex(13),
- /* [233] */ MatcherIndex(16),
- /* [234] */ MatcherIndex(11),
- /* [235] */ MatcherIndex(41),
- /* [236] */ MatcherIndex(13),
- /* [237] */ MatcherIndex(42),
- /* [238] */ MatcherIndex(13),
- /* [239] */ MatcherIndex(15),
- /* [240] */ MatcherIndex(0),
- /* [241] */ MatcherIndex(16),
- /* [242] */ MatcherIndex(1),
- /* [243] */ MatcherIndex(54),
+ /* [217] */ MatcherIndex(1),
+ /* [218] */ MatcherIndex(52),
+ /* [219] */ MatcherIndex(0),
+ /* [220] */ MatcherIndex(1),
+ /* [221] */ MatcherIndex(49),
+ /* [222] */ MatcherIndex(1),
+ /* [223] */ MatcherIndex(2),
+ /* [224] */ MatcherIndex(50),
+ /* [225] */ MatcherIndex(1),
+ /* [226] */ MatcherIndex(2),
+ /* [227] */ MatcherIndex(51),
+ /* [228] */ MatcherIndex(1),
+ /* [229] */ MatcherIndex(2),
+ /* [230] */ MatcherIndex(52),
+ /* [231] */ MatcherIndex(1),
+ /* [232] */ MatcherIndex(2),
+ /* [233] */ MatcherIndex(27),
+ /* [234] */ MatcherIndex(2),
+ /* [235] */ MatcherIndex(0),
+ /* [236] */ MatcherIndex(27),
+ /* [237] */ MatcherIndex(1),
+ /* [238] */ MatcherIndex(6),
+ /* [239] */ MatcherIndex(17),
+ /* [240] */ MatcherIndex(14),
+ /* [241] */ MatcherIndex(57),
+ /* [242] */ MatcherIndex(0),
+ /* [243] */ MatcherIndex(55),
/* [244] */ MatcherIndex(0),
- /* [245] */ MatcherIndex(59),
- /* [246] */ MatcherIndex(0),
- /* [247] */ MatcherIndex(15),
- /* [248] */ MatcherIndex(9),
- /* [249] */ MatcherIndex(16),
- /* [250] */ MatcherIndex(9),
- /* [251] */ MatcherIndex(17),
- /* [252] */ MatcherIndex(9),
- /* [253] */ MatcherIndex(17),
- /* [254] */ MatcherIndex(1),
- /* [255] */ MatcherIndex(18),
+ /* [245] */ MatcherIndex(17),
+ /* [246] */ MatcherIndex(13),
+ /* [247] */ MatcherIndex(17),
+ /* [248] */ MatcherIndex(11),
+ /* [249] */ MatcherIndex(17),
+ /* [250] */ MatcherIndex(12),
+ /* [251] */ MatcherIndex(37),
+ /* [252] */ MatcherIndex(0),
+ /* [253] */ MatcherIndex(38),
+ /* [254] */ MatcherIndex(0),
+ /* [255] */ MatcherIndex(39),
/* [256] */ MatcherIndex(0),
- /* [257] */ MatcherIndex(18),
- /* [258] */ MatcherIndex(13),
- /* [259] */ MatcherIndex(18),
- /* [260] */ MatcherIndex(14),
- /* [261] */ MatcherIndex(19),
+ /* [257] */ MatcherIndex(40),
+ /* [258] */ MatcherIndex(0),
+ /* [259] */ MatcherIndex(41),
+ /* [260] */ MatcherIndex(0),
+ /* [261] */ MatcherIndex(42),
/* [262] */ MatcherIndex(0),
- /* [263] */ MatcherIndex(19),
- /* [264] */ MatcherIndex(13),
- /* [265] */ MatcherIndex(19),
- /* [266] */ MatcherIndex(14),
- /* [267] */ MatcherIndex(20),
+ /* [263] */ MatcherIndex(43),
+ /* [264] */ MatcherIndex(0),
+ /* [265] */ MatcherIndex(17),
+ /* [266] */ MatcherIndex(0),
+ /* [267] */ MatcherIndex(37),
/* [268] */ MatcherIndex(13),
- /* [269] */ MatcherIndex(20),
- /* [270] */ MatcherIndex(14),
- /* [271] */ MatcherIndex(21),
- /* [272] */ MatcherIndex(0),
- /* [273] */ MatcherIndex(21),
+ /* [269] */ MatcherIndex(38),
+ /* [270] */ MatcherIndex(13),
+ /* [271] */ MatcherIndex(39),
+ /* [272] */ MatcherIndex(13),
+ /* [273] */ MatcherIndex(40),
/* [274] */ MatcherIndex(13),
- /* [275] */ MatcherIndex(21),
- /* [276] */ MatcherIndex(14),
- /* [277] */ MatcherIndex(22),
- /* [278] */ MatcherIndex(0),
- /* [279] */ MatcherIndex(22),
- /* [280] */ MatcherIndex(13),
- /* [281] */ MatcherIndex(22),
- /* [282] */ MatcherIndex(14),
- /* [283] */ MatcherIndex(23),
+ /* [275] */ MatcherIndex(41),
+ /* [276] */ MatcherIndex(13),
+ /* [277] */ MatcherIndex(42),
+ /* [278] */ MatcherIndex(13),
+ /* [279] */ MatcherIndex(15),
+ /* [280] */ MatcherIndex(0),
+ /* [281] */ MatcherIndex(54),
+ /* [282] */ MatcherIndex(0),
+ /* [283] */ MatcherIndex(59),
/* [284] */ MatcherIndex(0),
- /* [285] */ MatcherIndex(23),
- /* [286] */ MatcherIndex(13),
- /* [287] */ MatcherIndex(23),
- /* [288] */ MatcherIndex(14),
- /* [289] */ MatcherIndex(24),
- /* [290] */ MatcherIndex(0),
- /* [291] */ MatcherIndex(24),
- /* [292] */ MatcherIndex(13),
- /* [293] */ MatcherIndex(24),
- /* [294] */ MatcherIndex(14),
- /* [295] */ MatcherIndex(25),
- /* [296] */ MatcherIndex(0),
- /* [297] */ MatcherIndex(25),
- /* [298] */ MatcherIndex(13),
- /* [299] */ MatcherIndex(25),
- /* [300] */ MatcherIndex(14),
- /* [301] */ MatcherIndex(26),
- /* [302] */ MatcherIndex(0),
- /* [303] */ MatcherIndex(26),
+ /* [285] */ MatcherIndex(15),
+ /* [286] */ MatcherIndex(9),
+ /* [287] */ MatcherIndex(17),
+ /* [288] */ MatcherIndex(9),
+ /* [289] */ MatcherIndex(17),
+ /* [290] */ MatcherIndex(1),
+ /* [291] */ MatcherIndex(18),
+ /* [292] */ MatcherIndex(0),
+ /* [293] */ MatcherIndex(18),
+ /* [294] */ MatcherIndex(13),
+ /* [295] */ MatcherIndex(18),
+ /* [296] */ MatcherIndex(14),
+ /* [297] */ MatcherIndex(19),
+ /* [298] */ MatcherIndex(0),
+ /* [299] */ MatcherIndex(19),
+ /* [300] */ MatcherIndex(13),
+ /* [301] */ MatcherIndex(19),
+ /* [302] */ MatcherIndex(14),
+ /* [303] */ MatcherIndex(20),
/* [304] */ MatcherIndex(13),
- /* [305] */ MatcherIndex(26),
+ /* [305] */ MatcherIndex(20),
/* [306] */ MatcherIndex(14),
- /* [307] */ MatcherIndex(69),
- /* [308] */ MatcherIndex(73),
- /* [309] */ MatcherIndex(81),
- /* [310] */ MatcherIndex(75),
- /* [311] */ MatcherIndex(62),
- /* [312] */ MatcherIndex(70),
- /* [313] */ MatcherIndex(61),
- /* [314] */ MatcherIndex(44),
- /* [315] */ MatcherIndex(45),
- /* [316] */ MatcherIndex(46),
- /* [317] */ MatcherIndex(47),
- /* [318] */ MatcherIndex(48),
- /* [319] */ MatcherIndex(53),
- /* [320] */ MatcherIndex(35),
- /* [321] */ MatcherIndex(36),
- /* [322] */ MatcherIndex(10),
- /* [323] */ MatcherIndex(76),
- /* [324] */ MatcherIndex(82),
- /* [325] */ MatcherIndex(74),
- /* [326] */ MatcherIndex(66),
- /* [327] */ MatcherIndex(67),
- /* [328] */ MatcherIndex(64),
- /* [329] */ MatcherIndex(65),
- /* [330] */ MatcherIndex(68),
- /* [331] */ MatcherIndex(63),
- /* [332] */ MatcherIndex(80),
+ /* [307] */ MatcherIndex(21),
+ /* [308] */ MatcherIndex(0),
+ /* [309] */ MatcherIndex(21),
+ /* [310] */ MatcherIndex(13),
+ /* [311] */ MatcherIndex(21),
+ /* [312] */ MatcherIndex(14),
+ /* [313] */ MatcherIndex(22),
+ /* [314] */ MatcherIndex(0),
+ /* [315] */ MatcherIndex(22),
+ /* [316] */ MatcherIndex(13),
+ /* [317] */ MatcherIndex(22),
+ /* [318] */ MatcherIndex(14),
+ /* [319] */ MatcherIndex(23),
+ /* [320] */ MatcherIndex(0),
+ /* [321] */ MatcherIndex(23),
+ /* [322] */ MatcherIndex(13),
+ /* [323] */ MatcherIndex(23),
+ /* [324] */ MatcherIndex(14),
+ /* [325] */ MatcherIndex(24),
+ /* [326] */ MatcherIndex(0),
+ /* [327] */ MatcherIndex(24),
+ /* [328] */ MatcherIndex(13),
+ /* [329] */ MatcherIndex(24),
+ /* [330] */ MatcherIndex(14),
+ /* [331] */ MatcherIndex(25),
+ /* [332] */ MatcherIndex(0),
+ /* [333] */ MatcherIndex(25),
+ /* [334] */ MatcherIndex(13),
+ /* [335] */ MatcherIndex(25),
+ /* [336] */ MatcherIndex(14),
+ /* [337] */ MatcherIndex(26),
+ /* [338] */ MatcherIndex(0),
+ /* [339] */ MatcherIndex(26),
+ /* [340] */ MatcherIndex(13),
+ /* [341] */ MatcherIndex(26),
+ /* [342] */ MatcherIndex(14),
+ /* [343] */ MatcherIndex(69),
+ /* [344] */ MatcherIndex(73),
+ /* [345] */ MatcherIndex(81),
+ /* [346] */ MatcherIndex(75),
+ /* [347] */ MatcherIndex(62),
+ /* [348] */ MatcherIndex(70),
+ /* [349] */ MatcherIndex(61),
+ /* [350] */ MatcherIndex(44),
+ /* [351] */ MatcherIndex(45),
+ /* [352] */ MatcherIndex(46),
+ /* [353] */ MatcherIndex(47),
+ /* [354] */ MatcherIndex(48),
+ /* [355] */ MatcherIndex(53),
+ /* [356] */ MatcherIndex(35),
+ /* [357] */ MatcherIndex(36),
+ /* [358] */ MatcherIndex(10),
+ /* [359] */ MatcherIndex(76),
+ /* [360] */ MatcherIndex(82),
+ /* [361] */ MatcherIndex(74),
+ /* [362] */ MatcherIndex(66),
+ /* [363] */ MatcherIndex(67),
+ /* [364] */ MatcherIndex(64),
+ /* [365] */ MatcherIndex(65),
+ /* [366] */ MatcherIndex(68),
+ /* [367] */ MatcherIndex(63),
+ /* [368] */ MatcherIndex(80),
};
static_assert(MatcherIndicesIndex::CanIndex(kMatcherIndices),
@@ -2405,152 +2441,152 @@
{
/* [0] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(24),
+ /* matcher_indices */ MatcherIndicesIndex(52),
},
{
/* [1] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [2] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [3] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [4] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [5] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [6] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [7] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [8] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [9] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [10] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [11] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [12] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [13] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [14] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [15] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [16] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [17] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(45),
+ /* matcher_indices */ MatcherIndicesIndex(17),
},
{
/* [18] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(45),
+ /* matcher_indices */ MatcherIndicesIndex(17),
},
{
/* [19] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(229),
+ /* matcher_indices */ MatcherIndicesIndex(271),
},
{
/* [20] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [21] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [22] */
/* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [23] */
/* usage */ core::ParameterUsage::kDdx,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [24] */
/* usage */ core::ParameterUsage::kDdy,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [25] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(221),
+ /* matcher_indices */ MatcherIndicesIndex(78),
},
{
/* [26] */
/* usage */ core::ParameterUsage::kComponent,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* matcher_indices */ MatcherIndicesIndex(20),
},
{
/* [27] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(209),
+ /* matcher_indices */ MatcherIndicesIndex(255),
},
{
/* [28] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [29] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [30] */
@@ -2560,262 +2596,262 @@
{
/* [31] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(221),
+ /* matcher_indices */ MatcherIndicesIndex(78),
},
{
/* [32] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(315),
+ /* matcher_indices */ MatcherIndicesIndex(351),
},
{
/* [33] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(321),
+ /* matcher_indices */ MatcherIndicesIndex(357),
},
{
/* [34] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [35] */
/* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [36] */
/* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(147),
+ /* matcher_indices */ MatcherIndicesIndex(41),
},
{
/* [37] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(221),
+ /* matcher_indices */ MatcherIndicesIndex(78),
},
{
/* [38] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(229),
+ /* matcher_indices */ MatcherIndicesIndex(271),
},
{
/* [39] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [40] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [41] */
/* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [42] */
/* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(147),
+ /* matcher_indices */ MatcherIndicesIndex(41),
},
{
/* [43] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(221),
+ /* matcher_indices */ MatcherIndicesIndex(78),
},
{
/* [44] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(227),
+ /* matcher_indices */ MatcherIndicesIndex(269),
},
{
/* [45] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [46] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [47] */
/* usage */ core::ParameterUsage::kDdx,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [48] */
/* usage */ core::ParameterUsage::kDdy,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [49] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(221),
+ /* matcher_indices */ MatcherIndicesIndex(78),
},
{
/* [50] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(231),
+ /* matcher_indices */ MatcherIndicesIndex(273),
},
{
/* [51] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [52] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(223),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [53] */
/* usage */ core::ParameterUsage::kDdx,
- /* matcher_indices */ MatcherIndicesIndex(223),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [54] */
/* usage */ core::ParameterUsage::kDdy,
- /* matcher_indices */ MatcherIndicesIndex(223),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [55] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(233),
+ /* matcher_indices */ MatcherIndicesIndex(84),
},
{
/* [56] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(237),
+ /* matcher_indices */ MatcherIndicesIndex(277),
},
{
/* [57] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [58] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(223),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [59] */
/* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [60] */
/* usage */ core::ParameterUsage::kDdx,
- /* matcher_indices */ MatcherIndicesIndex(223),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [61] */
/* usage */ core::ParameterUsage::kDdy,
- /* matcher_indices */ MatcherIndicesIndex(223),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [62] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(229),
+ /* matcher_indices */ MatcherIndicesIndex(271),
},
{
/* [63] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [64] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [65] */
/* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [66] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(147),
+ /* matcher_indices */ MatcherIndicesIndex(41),
},
{
/* [67] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(221),
+ /* matcher_indices */ MatcherIndicesIndex(78),
},
{
/* [68] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(315),
+ /* matcher_indices */ MatcherIndicesIndex(351),
},
{
/* [69] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [70] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [71] */
/* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [72] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* matcher_indices */ MatcherIndicesIndex(20),
},
{
/* [73] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(221),
+ /* matcher_indices */ MatcherIndicesIndex(78),
},
{
/* [74] */
/* usage */ core::ParameterUsage::kComponent,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* matcher_indices */ MatcherIndicesIndex(20),
},
{
/* [75] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(207),
+ /* matcher_indices */ MatcherIndicesIndex(253),
},
{
/* [76] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [77] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [78] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(221),
+ /* matcher_indices */ MatcherIndicesIndex(78),
},
{
/* [79] */
/* usage */ core::ParameterUsage::kComponent,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* matcher_indices */ MatcherIndicesIndex(20),
},
{
/* [80] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(215),
+ /* matcher_indices */ MatcherIndicesIndex(261),
},
{
/* [81] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [82] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(223),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [83] */
@@ -2825,1768 +2861,1948 @@
{
/* [84] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(315),
+ /* matcher_indices */ MatcherIndicesIndex(351),
},
{
/* [85] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [86] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [87] */
/* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [88] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(221),
+ /* matcher_indices */ MatcherIndicesIndex(78),
},
{
/* [89] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(314),
+ /* matcher_indices */ MatcherIndicesIndex(350),
},
{
/* [90] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(321),
+ /* matcher_indices */ MatcherIndicesIndex(357),
},
{
/* [91] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [92] */
/* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(147),
+ /* matcher_indices */ MatcherIndicesIndex(41),
},
{
/* [93] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(221),
+ /* matcher_indices */ MatcherIndicesIndex(78),
},
{
/* [94] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(317),
+ /* matcher_indices */ MatcherIndicesIndex(353),
},
{
/* [95] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(321),
+ /* matcher_indices */ MatcherIndicesIndex(357),
},
{
/* [96] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(223),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [97] */
/* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [98] */
/* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(147),
+ /* matcher_indices */ MatcherIndicesIndex(41),
},
{
/* [99] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(229),
+ /* matcher_indices */ MatcherIndicesIndex(271),
},
{
/* [100] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [101] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [102] */
/* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [103] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(221),
+ /* matcher_indices */ MatcherIndicesIndex(78),
},
{
/* [104] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(227),
+ /* matcher_indices */ MatcherIndicesIndex(269),
},
{
/* [105] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [106] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [107] */
/* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(147),
+ /* matcher_indices */ MatcherIndicesIndex(41),
},
{
/* [108] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(221),
+ /* matcher_indices */ MatcherIndicesIndex(78),
},
{
/* [109] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(231),
+ /* matcher_indices */ MatcherIndicesIndex(273),
},
{
/* [110] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [111] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(223),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [112] */
/* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(147),
+ /* matcher_indices */ MatcherIndicesIndex(41),
},
{
/* [113] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(233),
+ /* matcher_indices */ MatcherIndicesIndex(84),
},
{
/* [114] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(237),
+ /* matcher_indices */ MatcherIndicesIndex(277),
},
{
/* [115] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [116] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(223),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [117] */
/* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [118] */
/* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(147),
+ /* matcher_indices */ MatcherIndicesIndex(41),
},
{
/* [119] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(235),
+ /* matcher_indices */ MatcherIndicesIndex(275),
},
{
/* [120] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [121] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(223),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [122] */
/* usage */ core::ParameterUsage::kDdx,
- /* matcher_indices */ MatcherIndicesIndex(223),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [123] */
/* usage */ core::ParameterUsage::kDdy,
- /* matcher_indices */ MatcherIndicesIndex(223),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [124] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(227),
+ /* matcher_indices */ MatcherIndicesIndex(269),
},
{
/* [125] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [126] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [127] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(147),
+ /* matcher_indices */ MatcherIndicesIndex(41),
},
{
/* [128] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(221),
+ /* matcher_indices */ MatcherIndicesIndex(78),
},
{
/* [129] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(231),
+ /* matcher_indices */ MatcherIndicesIndex(273),
},
{
/* [130] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [131] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(223),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [132] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(147),
+ /* matcher_indices */ MatcherIndicesIndex(41),
},
{
/* [133] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(233),
+ /* matcher_indices */ MatcherIndicesIndex(84),
},
{
/* [134] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(237),
+ /* matcher_indices */ MatcherIndicesIndex(277),
},
{
/* [135] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [136] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(223),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [137] */
/* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [138] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(147),
+ /* matcher_indices */ MatcherIndicesIndex(41),
},
{
/* [139] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(314),
+ /* matcher_indices */ MatcherIndicesIndex(350),
},
{
/* [140] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [141] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(195),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [142] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [143] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(221),
+ /* matcher_indices */ MatcherIndicesIndex(78),
},
{
/* [144] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(317),
+ /* matcher_indices */ MatcherIndicesIndex(353),
},
{
/* [145] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
/* [146] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(223),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [147] */
/* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(13),
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [148] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* matcher_indices */ MatcherIndicesIndex(20),
},
{
/* [149] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(40),
+ /* matcher_indices */ MatcherIndicesIndex(80),
},
{
/* [150] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(45),
+ /* matcher_indices */ MatcherIndicesIndex(17),
},
{
/* [151] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(46),
+ /* matcher_indices */ MatcherIndicesIndex(86),
},
{
/* [152] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(57),
+ /* matcher_indices */ MatcherIndicesIndex(109),
},
{
/* [153] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(45),
+ /* matcher_indices */ MatcherIndicesIndex(17),
},
{
/* [154] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(7),
+ /* matcher_indices */ MatcherIndicesIndex(21),
},
{
/* [155] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(45),
+ /* matcher_indices */ MatcherIndicesIndex(17),
},
{
/* [156] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(46),
+ /* matcher_indices */ MatcherIndicesIndex(86),
},
{
/* [157] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(57),
+ /* matcher_indices */ MatcherIndicesIndex(109),
},
{
/* [158] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(45),
+ /* matcher_indices */ MatcherIndicesIndex(17),
},
{
/* [159] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(121),
+ /* matcher_indices */ MatcherIndicesIndex(91),
},
{
/* [160] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(121),
+ /* matcher_indices */ MatcherIndicesIndex(17),
},
{
/* [161] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(45),
+ /* matcher_indices */ MatcherIndicesIndex(86),
},
{
/* [162] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(45),
+ /* matcher_indices */ MatcherIndicesIndex(109),
},
{
/* [163] */
- /* usage */ core::ParameterUsage::kComponent,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
},
{
/* [164] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(213),
- },
- {
- /* [165] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
- },
- {
- /* [166] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(223),
- },
- {
- /* [167] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(314),
- },
- {
- /* [168] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
- },
- {
- /* [169] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(195),
- },
- {
- /* [170] */
- /* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(221),
- },
- {
- /* [171] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(316),
- },
- {
- /* [172] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(321),
- },
- {
- /* [173] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(223),
- },
- {
- /* [174] */
- /* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(147),
- },
- {
- /* [175] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(227),
- },
- {
- /* [176] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
- },
- {
- /* [177] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(195),
- },
- {
- /* [178] */
- /* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(221),
- },
- {
- /* [179] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(231),
- },
- {
- /* [180] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
- },
- {
- /* [181] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(223),
- },
- {
- /* [182] */
- /* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(233),
- },
- {
- /* [183] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(235),
- },
- {
- /* [184] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
- },
- {
- /* [185] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(223),
- },
- {
- /* [186] */
- /* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(147),
- },
- {
- /* [187] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(235),
- },
- {
- /* [188] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
- },
- {
- /* [189] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(223),
- },
- {
- /* [190] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(147),
- },
- {
- /* [191] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(316),
- },
- {
- /* [192] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
- },
- {
- /* [193] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(223),
- },
- {
- /* [194] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [195] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(175),
- },
- {
- /* [196] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [197] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(32),
- },
- {
- /* [198] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(197),
- },
- {
- /* [199] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(175),
- },
- {
- /* [200] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [201] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(32),
- },
- {
- /* [202] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(199),
- },
- {
- /* [203] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(175),
- },
- {
- /* [204] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [205] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(32),
- },
- {
- /* [206] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(201),
- },
- {
- /* [207] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(209),
- },
- {
- /* [208] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(189),
- },
- {
- /* [209] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [210] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(32),
- },
- {
- /* [211] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(315),
- },
- {
- /* [212] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [213] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [214] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [215] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(34),
- },
- {
- /* [216] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(45),
- },
- {
- /* [217] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(57),
- },
- {
- /* [218] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(45),
- },
- {
- /* [219] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(0),
- },
- {
- /* [220] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(45),
- },
- {
- /* [221] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(57),
- },
- {
- /* [222] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(45),
- },
- {
- /* [223] */
- /* usage */ core::ParameterUsage::kX,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [224] */
- /* usage */ core::ParameterUsage::kY,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [225] */
- /* usage */ core::ParameterUsage::kZ,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [226] */
- /* usage */ core::ParameterUsage::kW,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [227] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [228] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [229] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [230] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [231] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(12),
- },
- {
- /* [232] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(12),
- },
- {
- /* [233] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(12),
- },
- {
- /* [234] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(12),
- },
- {
- /* [235] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(219),
- },
- {
- /* [236] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(219),
- },
- {
- /* [237] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(219),
- },
- {
- /* [238] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(219),
- },
- {
- /* [239] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(127),
- },
- {
- /* [240] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(127),
- },
- {
- /* [241] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(127),
- },
- {
- /* [242] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(57),
- },
- {
- /* [243] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(57),
- },
- {
- /* [244] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(121),
- },
- {
- /* [245] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(121),
- },
- {
- /* [246] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(121),
- },
- {
- /* [247] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [248] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [249] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [250] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(57),
- },
- {
- /* [251] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(121),
- },
- {
- /* [252] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(121),
- },
- {
- /* [253] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(124),
- },
- {
- /* [254] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(124),
- },
- {
- /* [255] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(225),
- },
- {
- /* [256] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
- },
- {
- /* [257] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(147),
- },
- {
- /* [258] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(319),
- },
- {
- /* [259] */
- /* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(320),
- },
- {
- /* [260] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(195),
- },
- {
- /* [261] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(169),
- },
- {
- /* [262] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [263] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(197),
- },
- {
- /* [264] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(172),
- },
- {
- /* [265] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [266] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(197),
- },
- {
- /* [267] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(178),
- },
- {
- /* [268] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(12),
- },
- {
- /* [269] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(197),
- },
- {
- /* [270] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(169),
- },
- {
- /* [271] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [272] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(199),
- },
- {
- /* [273] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(172),
- },
- {
- /* [274] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [275] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(199),
- },
- {
- /* [276] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(178),
- },
- {
- /* [277] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(12),
- },
- {
- /* [278] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(199),
- },
- {
- /* [279] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(169),
- },
- {
- /* [280] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [281] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(201),
- },
- {
- /* [282] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(172),
- },
- {
- /* [283] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [284] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(201),
- },
- {
- /* [285] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(178),
- },
- {
- /* [286] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(12),
- },
- {
- /* [287] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(201),
- },
- {
- /* [288] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(203),
- },
- {
- /* [289] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [290] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [291] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(207),
- },
- {
- /* [292] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(189),
- },
- {
- /* [293] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [294] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(211),
- },
- {
- /* [295] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(241),
- },
- {
- /* [296] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [297] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(217),
- },
- {
- /* [298] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(189),
- },
- {
- /* [299] */
- /* usage */ core::ParameterUsage::kSampleIndex,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [300] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(314),
- },
- {
- /* [301] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [302] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [303] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(318),
- },
- {
- /* [304] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [305] */
- /* usage */ core::ParameterUsage::kSampleIndex,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [306] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(71),
- },
- {
- /* [307] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(76),
- },
- {
- /* [308] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(66),
- },
- {
- /* [309] */
- /* usage */ core::ParameterUsage::kXy,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [310] */
- /* usage */ core::ParameterUsage::kZ,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [311] */
- /* usage */ core::ParameterUsage::kW,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [312] */
- /* usage */ core::ParameterUsage::kX,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [313] */
- /* usage */ core::ParameterUsage::kYz,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [314] */
- /* usage */ core::ParameterUsage::kW,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [315] */
- /* usage */ core::ParameterUsage::kX,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [316] */
- /* usage */ core::ParameterUsage::kY,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [317] */
- /* usage */ core::ParameterUsage::kZw,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [318] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [319] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [320] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(121),
- },
- {
- /* [321] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(151),
- },
- {
- /* [322] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(203),
- },
- {
- /* [323] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [324] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(207),
- },
- {
- /* [325] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [326] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(209),
- },
- {
- /* [327] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [328] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(211),
- },
- {
- /* [329] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [330] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(213),
- },
- {
- /* [331] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [332] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(215),
- },
- {
- /* [333] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [334] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(314),
- },
- {
- /* [335] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [336] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(315),
- },
- {
- /* [337] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [338] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(316),
- },
- {
- /* [339] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [340] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(317),
- },
- {
- /* [341] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [342] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(319),
- },
- {
- /* [343] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [344] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [345] */
- /* usage */ core::ParameterUsage::kSourceLaneIndex,
- /* matcher_indices */ MatcherIndicesIndex(309),
- },
- {
- /* [346] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(121),
- },
- {
- /* [347] */
- /* usage */ core::ParameterUsage::kSourceLaneIndex,
- /* matcher_indices */ MatcherIndicesIndex(309),
- },
- {
- /* [348] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [349] */
- /* usage */ core::ParameterUsage::kMask,
- /* matcher_indices */ MatcherIndicesIndex(45),
- },
- {
- /* [350] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(121),
- },
- {
- /* [351] */
- /* usage */ core::ParameterUsage::kMask,
- /* matcher_indices */ MatcherIndicesIndex(45),
- },
- {
- /* [352] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [353] */
- /* usage */ core::ParameterUsage::kDelta,
- /* matcher_indices */ MatcherIndicesIndex(45),
- },
- {
- /* [354] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(121),
- },
- {
- /* [355] */
- /* usage */ core::ParameterUsage::kDelta,
- /* matcher_indices */ MatcherIndicesIndex(45),
- },
- {
- /* [356] */
- /* usage */ core::ParameterUsage::kE,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [357] */
- /* usage */ core::ParameterUsage::kId,
- /* matcher_indices */ MatcherIndicesIndex(309),
- },
- {
- /* [358] */
- /* usage */ core::ParameterUsage::kE,
- /* matcher_indices */ MatcherIndicesIndex(121),
- },
- {
- /* [359] */
- /* usage */ core::ParameterUsage::kId,
- /* matcher_indices */ MatcherIndicesIndex(309),
- },
- {
- /* [360] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(56),
- },
- {
- /* [361] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(61),
- },
- {
- /* [362] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(127),
- },
- {
- /* [363] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [364] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(127),
- },
- {
- /* [365] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(139),
- },
- {
- /* [366] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(105),
- },
- {
- /* [367] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(105),
- },
- {
- /* [368] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [369] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(105),
- },
- {
- /* [370] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(127),
- },
- {
- /* [371] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(181),
- },
- {
- /* [372] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(105),
- },
- {
- /* [373] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(113),
- },
- {
- /* [374] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(117),
- },
- {
- /* [375] */
- /* usage */ core::ParameterUsage::kXy,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [376] */
- /* usage */ core::ParameterUsage::kZw,
- /* matcher_indices */ MatcherIndicesIndex(239),
- },
- {
- /* [377] */
- /* usage */ core::ParameterUsage::kXyz,
- /* matcher_indices */ MatcherIndicesIndex(12),
- },
- {
- /* [378] */
- /* usage */ core::ParameterUsage::kW,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [379] */
- /* usage */ core::ParameterUsage::kX,
- /* matcher_indices */ MatcherIndicesIndex(13),
- },
- {
- /* [380] */
- /* usage */ core::ParameterUsage::kZyw,
- /* matcher_indices */ MatcherIndicesIndex(12),
- },
- {
- /* [381] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(14),
- },
- {
- /* [382] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [383] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(133),
- },
- {
- /* [384] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(136),
- },
- {
- /* [385] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(144),
- },
- {
- /* [386] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(142),
- },
- {
- /* [387] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(5),
- },
- {
- /* [388] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(187),
- },
- {
- /* [389] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(189),
- },
- {
- /* [390] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(81),
- },
- {
- /* [391] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(147),
- },
- {
- /* [392] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(145),
- },
- {
- /* [393] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(195),
- },
- {
- /* [394] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(197),
- },
- {
- /* [395] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(199),
- },
- {
- /* [396] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(201),
- },
- {
- /* [397] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(89),
- },
- {
- /* [398] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(93),
- },
- {
- /* [399] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(19),
- },
- {
- /* [400] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(157),
- },
- {
- /* [401] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(160),
- },
- {
- /* [402] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(163),
- },
- {
- /* [403] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(166),
- },
- {
- /* [404] */
- /* usage */ core::ParameterUsage::kInputAttachment,
- /* matcher_indices */ MatcherIndicesIndex(243),
- },
- {
- /* [405] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(101),
- },
- {
- /* [406] */
/* usage */ core::ParameterUsage::kNone,
/* matcher_indices */ MatcherIndicesIndex(97),
},
{
- /* [407] */
+ /* [165] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(200),
+ /* matcher_indices */ MatcherIndicesIndex(17),
},
{
- /* [408] */
+ /* [166] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(241),
+ /* matcher_indices */ MatcherIndicesIndex(86),
},
{
- /* [409] */
+ /* [167] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(253),
+ /* matcher_indices */ MatcherIndicesIndex(109),
},
{
- /* [410] */
+ /* [168] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(255),
+ /* matcher_indices */ MatcherIndicesIndex(17),
},
{
- /* [411] */
+ /* [169] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(257),
+ /* matcher_indices */ MatcherIndicesIndex(28),
},
{
- /* [412] */
+ /* [170] */
/* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [171] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(86),
+ },
+ {
+ /* [172] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(109),
+ },
+ {
+ /* [173] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [174] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(35),
+ },
+ {
+ /* [175] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [176] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(86),
+ },
+ {
+ /* [177] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(109),
+ },
+ {
+ /* [178] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [179] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(173),
+ },
+ {
+ /* [180] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(173),
+ },
+ {
+ /* [181] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [182] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [183] */
+ /* usage */ core::ParameterUsage::kComponent,
+ /* matcher_indices */ MatcherIndicesIndex(20),
+ },
+ {
+ /* [184] */
+ /* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(259),
},
{
- /* [413] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(261),
+ /* [185] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
- /* [414] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(263),
+ /* [186] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
- /* [415] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(265),
+ /* [187] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(350),
},
{
- /* [416] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(94),
+ /* [188] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
- /* [417] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(267),
+ /* [189] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
- /* [418] */
- /* usage */ core::ParameterUsage::kNone,
+ /* [190] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(78),
+ },
+ {
+ /* [191] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(352),
+ },
+ {
+ /* [192] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(357),
+ },
+ {
+ /* [193] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(40),
+ },
+ {
+ /* [194] */
+ /* usage */ core::ParameterUsage::kDepthRef,
+ /* matcher_indices */ MatcherIndicesIndex(41),
+ },
+ {
+ /* [195] */
+ /* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(269),
},
{
- /* [419] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(271),
+ /* [196] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
- /* [420] */
- /* usage */ core::ParameterUsage::kNone,
+ /* [197] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
+ },
+ {
+ /* [198] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(78),
+ },
+ {
+ /* [199] */
+ /* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(273),
},
{
- /* [421] */
- /* usage */ core::ParameterUsage::kNone,
+ /* [200] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(356),
+ },
+ {
+ /* [201] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(40),
+ },
+ {
+ /* [202] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(84),
+ },
+ {
+ /* [203] */
+ /* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(275),
},
{
- /* [422] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(277),
+ /* [204] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(356),
},
{
- /* [423] */
+ /* [205] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(40),
+ },
+ {
+ /* [206] */
+ /* usage */ core::ParameterUsage::kBias,
+ /* matcher_indices */ MatcherIndicesIndex(41),
+ },
+ {
+ /* [207] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(275),
+ },
+ {
+ /* [208] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(356),
+ },
+ {
+ /* [209] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(40),
+ },
+ {
+ /* [210] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(41),
+ },
+ {
+ /* [211] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(352),
+ },
+ {
+ /* [212] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(356),
+ },
+ {
+ /* [213] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(40),
+ },
+ {
+ /* [214] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [215] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(227),
+ },
+ {
+ /* [216] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [217] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(60),
+ },
+ {
+ /* [218] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(245),
+ },
+ {
+ /* [219] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(227),
+ },
+ {
+ /* [220] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [221] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(60),
+ },
+ {
+ /* [222] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(247),
+ },
+ {
+ /* [223] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(227),
+ },
+ {
+ /* [224] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [225] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(60),
+ },
+ {
+ /* [226] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(249),
+ },
+ {
+ /* [227] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(255),
+ },
+ {
+ /* [228] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(19),
+ },
+ {
+ /* [229] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [230] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(60),
+ },
+ {
+ /* [231] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(351),
+ },
+ {
+ /* [232] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [233] */
+ /* usage */ core::ParameterUsage::kArrayIndex,
+ /* matcher_indices */ MatcherIndicesIndex(20),
+ },
+ {
+ /* [234] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [235] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(62),
+ },
+ {
+ /* [236] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [237] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(109),
+ },
+ {
+ /* [238] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [239] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(0),
+ },
+ {
+ /* [240] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [241] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(109),
+ },
+ {
+ /* [242] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [243] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(68),
+ },
+ {
+ /* [244] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [245] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(109),
+ },
+ {
+ /* [246] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [247] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(74),
+ },
+ {
+ /* [248] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [249] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(109),
+ },
+ {
+ /* [250] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [251] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(7),
+ },
+ {
+ /* [252] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [253] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(109),
+ },
+ {
+ /* [254] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [255] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(14),
+ },
+ {
+ /* [256] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [257] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(109),
+ },
+ {
+ /* [258] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [259] */
+ /* usage */ core::ParameterUsage::kX,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [260] */
+ /* usage */ core::ParameterUsage::kY,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [261] */
+ /* usage */ core::ParameterUsage::kZ,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [262] */
+ /* usage */ core::ParameterUsage::kW,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [263] */
/* usage */ core::ParameterUsage::kNone,
/* matcher_indices */ MatcherIndicesIndex(279),
},
{
+ /* [264] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [265] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [266] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [267] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ },
+ {
+ /* [268] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ },
+ {
+ /* [269] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ },
+ {
+ /* [270] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ },
+ {
+ /* [271] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(265),
+ },
+ {
+ /* [272] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(265),
+ },
+ {
+ /* [273] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(265),
+ },
+ {
+ /* [274] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(265),
+ },
+ {
+ /* [275] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(179),
+ },
+ {
+ /* [276] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(179),
+ },
+ {
+ /* [277] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(179),
+ },
+ {
+ /* [278] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(109),
+ },
+ {
+ /* [279] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(109),
+ },
+ {
+ /* [280] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(173),
+ },
+ {
+ /* [281] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(173),
+ },
+ {
+ /* [282] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(173),
+ },
+ {
+ /* [283] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(20),
+ },
+ {
+ /* [284] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [285] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [286] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(109),
+ },
+ {
+ /* [287] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(173),
+ },
+ {
+ /* [288] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(173),
+ },
+ {
+ /* [289] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(176),
+ },
+ {
+ /* [290] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(176),
+ },
+ {
+ /* [291] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(267),
+ },
+ {
+ /* [292] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(356),
+ },
+ {
+ /* [293] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(41),
+ },
+ {
+ /* [294] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(355),
+ },
+ {
+ /* [295] */
+ /* usage */ core::ParameterUsage::kSampler,
+ /* matcher_indices */ MatcherIndicesIndex(356),
+ },
+ {
+ /* [296] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
+ },
+ {
+ /* [297] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(221),
+ },
+ {
+ /* [298] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [299] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(245),
+ },
+ {
+ /* [300] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(224),
+ },
+ {
+ /* [301] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [302] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(245),
+ },
+ {
+ /* [303] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(230),
+ },
+ {
+ /* [304] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ },
+ {
+ /* [305] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(245),
+ },
+ {
+ /* [306] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(221),
+ },
+ {
+ /* [307] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [308] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(247),
+ },
+ {
+ /* [309] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(224),
+ },
+ {
+ /* [310] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [311] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(247),
+ },
+ {
+ /* [312] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(230),
+ },
+ {
+ /* [313] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ },
+ {
+ /* [314] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(247),
+ },
+ {
+ /* [315] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(221),
+ },
+ {
+ /* [316] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [317] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(249),
+ },
+ {
+ /* [318] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(224),
+ },
+ {
+ /* [319] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [320] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(249),
+ },
+ {
+ /* [321] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(230),
+ },
+ {
+ /* [322] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ },
+ {
+ /* [323] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(249),
+ },
+ {
+ /* [324] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(251),
+ },
+ {
+ /* [325] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(20),
+ },
+ {
+ /* [326] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [327] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(253),
+ },
+ {
+ /* [328] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(19),
+ },
+ {
+ /* [329] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [330] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(257),
+ },
+ {
+ /* [331] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(95),
+ },
+ {
+ /* [332] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [333] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(263),
+ },
+ {
+ /* [334] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(19),
+ },
+ {
+ /* [335] */
+ /* usage */ core::ParameterUsage::kSampleIndex,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [336] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(350),
+ },
+ {
+ /* [337] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [338] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(20),
+ },
+ {
+ /* [339] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(354),
+ },
+ {
+ /* [340] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [341] */
+ /* usage */ core::ParameterUsage::kSampleIndex,
+ /* matcher_indices */ MatcherIndicesIndex(20),
+ },
+ {
+ /* [342] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(123),
+ },
+ {
+ /* [343] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(128),
+ },
+ {
+ /* [344] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(118),
+ },
+ {
+ /* [345] */
+ /* usage */ core::ParameterUsage::kXy,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [346] */
+ /* usage */ core::ParameterUsage::kZ,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [347] */
+ /* usage */ core::ParameterUsage::kW,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [348] */
+ /* usage */ core::ParameterUsage::kX,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [349] */
+ /* usage */ core::ParameterUsage::kYz,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [350] */
+ /* usage */ core::ParameterUsage::kW,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [351] */
+ /* usage */ core::ParameterUsage::kX,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [352] */
+ /* usage */ core::ParameterUsage::kY,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [353] */
+ /* usage */ core::ParameterUsage::kZw,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [354] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [355] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(20),
+ },
+ {
+ /* [356] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(173),
+ },
+ {
+ /* [357] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(203),
+ },
+ {
+ /* [358] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(251),
+ },
+ {
+ /* [359] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(20),
+ },
+ {
+ /* [360] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(253),
+ },
+ {
+ /* [361] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(20),
+ },
+ {
+ /* [362] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(255),
+ },
+ {
+ /* [363] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(20),
+ },
+ {
+ /* [364] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(257),
+ },
+ {
+ /* [365] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(20),
+ },
+ {
+ /* [366] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(259),
+ },
+ {
+ /* [367] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(20),
+ },
+ {
+ /* [368] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(261),
+ },
+ {
+ /* [369] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(20),
+ },
+ {
+ /* [370] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(350),
+ },
+ {
+ /* [371] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [372] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(351),
+ },
+ {
+ /* [373] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [374] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(352),
+ },
+ {
+ /* [375] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [376] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(353),
+ },
+ {
+ /* [377] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [378] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(355),
+ },
+ {
+ /* [379] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [380] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [381] */
+ /* usage */ core::ParameterUsage::kSourceLaneIndex,
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ },
+ {
+ /* [382] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(173),
+ },
+ {
+ /* [383] */
+ /* usage */ core::ParameterUsage::kSourceLaneIndex,
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ },
+ {
+ /* [384] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [385] */
+ /* usage */ core::ParameterUsage::kMask,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [386] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(173),
+ },
+ {
+ /* [387] */
+ /* usage */ core::ParameterUsage::kMask,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [388] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [389] */
+ /* usage */ core::ParameterUsage::kDelta,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [390] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(173),
+ },
+ {
+ /* [391] */
+ /* usage */ core::ParameterUsage::kDelta,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [392] */
+ /* usage */ core::ParameterUsage::kE,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [393] */
+ /* usage */ core::ParameterUsage::kId,
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ },
+ {
+ /* [394] */
+ /* usage */ core::ParameterUsage::kE,
+ /* matcher_indices */ MatcherIndicesIndex(173),
+ },
+ {
+ /* [395] */
+ /* usage */ core::ParameterUsage::kId,
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ },
+ {
+ /* [396] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(108),
+ },
+ {
+ /* [397] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(113),
+ },
+ {
+ /* [398] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(179),
+ },
+ {
+ /* [399] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [400] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(179),
+ },
+ {
+ /* [401] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(191),
+ },
+ {
+ /* [402] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(157),
+ },
+ {
+ /* [403] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(157),
+ },
+ {
+ /* [404] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [405] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(157),
+ },
+ {
+ /* [406] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(179),
+ },
+ {
+ /* [407] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(233),
+ },
+ {
+ /* [408] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(157),
+ },
+ {
+ /* [409] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(165),
+ },
+ {
+ /* [410] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(169),
+ },
+ {
+ /* [411] */
+ /* usage */ core::ParameterUsage::kXy,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [412] */
+ /* usage */ core::ParameterUsage::kZw,
+ /* matcher_indices */ MatcherIndicesIndex(279),
+ },
+ {
+ /* [413] */
+ /* usage */ core::ParameterUsage::kXyz,
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ },
+ {
+ /* [414] */
+ /* usage */ core::ParameterUsage::kW,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [415] */
+ /* usage */ core::ParameterUsage::kX,
+ /* matcher_indices */ MatcherIndicesIndex(27),
+ },
+ {
+ /* [416] */
+ /* usage */ core::ParameterUsage::kZyw,
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ },
+ {
+ /* [417] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(42),
+ },
+ {
+ /* [418] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [419] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(185),
+ },
+ {
+ /* [420] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(188),
+ },
+ {
+ /* [421] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(102),
+ },
+ {
+ /* [422] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(194),
+ },
+ {
+ /* [423] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(5),
+ },
+ {
/* [424] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(281),
+ /* matcher_indices */ MatcherIndicesIndex(239),
},
{
/* [425] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(283),
+ /* matcher_indices */ MatcherIndicesIndex(19),
},
{
/* [426] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(285),
+ /* matcher_indices */ MatcherIndicesIndex(133),
},
{
/* [427] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(287),
+ /* matcher_indices */ MatcherIndicesIndex(41),
},
{
/* [428] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(289),
+ /* matcher_indices */ MatcherIndicesIndex(197),
},
{
/* [429] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(291),
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [430] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(293),
+ /* matcher_indices */ MatcherIndicesIndex(245),
},
{
/* [431] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(295),
+ /* matcher_indices */ MatcherIndicesIndex(247),
},
{
/* [432] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(297),
+ /* matcher_indices */ MatcherIndicesIndex(249),
},
{
/* [433] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(299),
+ /* matcher_indices */ MatcherIndicesIndex(141),
},
{
/* [434] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(301),
+ /* matcher_indices */ MatcherIndicesIndex(145),
},
{
/* [435] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(303),
+ /* matcher_indices */ MatcherIndicesIndex(47),
},
{
/* [436] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(209),
+ },
+ {
+ /* [437] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(212),
+ },
+ {
+ /* [438] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(215),
+ },
+ {
+ /* [439] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(218),
+ },
+ {
+ /* [440] */
+ /* usage */ core::ParameterUsage::kInputAttachment,
+ /* matcher_indices */ MatcherIndicesIndex(281),
+ },
+ {
+ /* [441] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(153),
+ },
+ {
+ /* [442] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(149),
+ },
+ {
+ /* [443] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [444] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(95),
+ },
+ {
+ /* [445] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(289),
+ },
+ {
+ /* [446] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(291),
+ },
+ {
+ /* [447] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(293),
+ },
+ {
+ /* [448] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(295),
+ },
+ {
+ /* [449] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(297),
+ },
+ {
+ /* [450] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(299),
+ },
+ {
+ /* [451] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(301),
+ },
+ {
+ /* [452] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(146),
+ },
+ {
+ /* [453] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(303),
+ },
+ {
+ /* [454] */
/* usage */ core::ParameterUsage::kNone,
/* matcher_indices */ MatcherIndicesIndex(305),
},
+ {
+ /* [455] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(307),
+ },
+ {
+ /* [456] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(309),
+ },
+ {
+ /* [457] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(311),
+ },
+ {
+ /* [458] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(313),
+ },
+ {
+ /* [459] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(315),
+ },
+ {
+ /* [460] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(317),
+ },
+ {
+ /* [461] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(319),
+ },
+ {
+ /* [462] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(321),
+ },
+ {
+ /* [463] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(323),
+ },
+ {
+ /* [464] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(325),
+ },
+ {
+ /* [465] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(327),
+ },
+ {
+ /* [466] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(329),
+ },
+ {
+ /* [467] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(331),
+ },
+ {
+ /* [468] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(333),
+ },
+ {
+ /* [469] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(335),
+ },
+ {
+ /* [470] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(337),
+ },
+ {
+ /* [471] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(339),
+ },
+ {
+ /* [472] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(341),
+ },
};
static_assert(ParameterIndex::CanIndex(kParameters),
@@ -4596,7 +4812,7 @@
{
/* [0] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(29),
+ /* matcher_indices */ MatcherIndicesIndex(57),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -4608,7 +4824,7 @@
{
/* [2] */
/* name */ "S",
- /* matcher_indices */ MatcherIndicesIndex(323),
+ /* matcher_indices */ MatcherIndicesIndex(359),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -4631,512 +4847,512 @@
},
{
/* [6] */
- /* name */ "TR",
- /* matcher_indices */ MatcherIndicesIndex(324),
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(57),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [7] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(324),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [8] */
- /* name */ "C",
+ /* name */ "K",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
+ /* [8] */
+ /* name */ "S",
+ /* matcher_indices */ MatcherIndicesIndex(114),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
/* [9] */
- /* name */ "R",
+ /* name */ "C",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [10] */
- /* name */ "K",
+ /* name */ "R",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [11] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(324),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "AC",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [12] */
- /* name */ "TR",
- /* matcher_indices */ MatcherIndicesIndex(324),
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(57),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [13] */
- /* name */ "C",
+ /* name */ "K",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [14] */
- /* name */ "R",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kNumber,
+ /* name */ "S",
+ /* matcher_indices */ MatcherIndicesIndex(104),
+ /* kind */ TemplateInfo::Kind::kType,
},
{
/* [15] */
- /* name */ "K",
+ /* name */ "C",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [16] */
- /* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "R",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [17] */
- /* name */ "F",
- /* matcher_indices */ MatcherIndicesIndex(144),
+ /* name */ "AC",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [18] */
- /* name */ "W",
- /* matcher_indices */ MatcherIndicesIndex(12),
- /* kind */ TemplateInfo::Kind::kNumber,
+ /* name */ "TR",
+ /* matcher_indices */ MatcherIndicesIndex(360),
+ /* kind */ TemplateInfo::Kind::kType,
},
{
/* [19] */
- /* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(309),
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(360),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [20] */
- /* name */ "L",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [21] */
- /* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "R",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [22] */
- /* name */ "F",
- /* matcher_indices */ MatcherIndicesIndex(322),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [23] */
- /* name */ "W",
- /* matcher_indices */ MatcherIndicesIndex(12),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [24] */
- /* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [25] */
- /* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [26] */
- /* name */ "F",
- /* matcher_indices */ MatcherIndicesIndex(200),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [27] */
- /* name */ "W",
- /* matcher_indices */ MatcherIndicesIndex(12),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [28] */
- /* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [29] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(39),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [30] */
- /* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [31] */
- /* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [32] */
- /* name */ "L",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [33] */
- /* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [34] */
- /* name */ "F",
- /* matcher_indices */ MatcherIndicesIndex(144),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [35] */
- /* name */ "R",
- /* matcher_indices */ MatcherIndicesIndex(45),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [36] */
- /* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [37] */
- /* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [38] */
- /* name */ "F",
- /* matcher_indices */ MatcherIndicesIndex(322),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [39] */
- /* name */ "R",
- /* matcher_indices */ MatcherIndicesIndex(45),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [40] */
- /* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [41] */
- /* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [42] */
- /* name */ "F",
- /* matcher_indices */ MatcherIndicesIndex(200),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [43] */
- /* name */ "R",
- /* matcher_indices */ MatcherIndicesIndex(45),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [44] */
- /* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [45] */
- /* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [46] */
- /* name */ "F",
- /* matcher_indices */ MatcherIndicesIndex(144),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [47] */
- /* name */ "RW",
- /* matcher_indices */ MatcherIndicesIndex(6),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [48] */
- /* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [49] */
- /* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [50] */
- /* name */ "F",
- /* matcher_indices */ MatcherIndicesIndex(322),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [51] */
- /* name */ "RW",
- /* matcher_indices */ MatcherIndicesIndex(6),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [52] */
- /* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [53] */
- /* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [54] */
- /* name */ "F",
- /* matcher_indices */ MatcherIndicesIndex(200),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [55] */
- /* name */ "RW",
- /* matcher_indices */ MatcherIndicesIndex(6),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [56] */
- /* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [57] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(308),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [58] */
/* name */ "K",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
- /* [59] */
+ /* [23] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(360),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [24] */
+ /* name */ "TR",
+ /* matcher_indices */ MatcherIndicesIndex(360),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [25] */
/* name */ "C",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
- /* [60] */
+ /* [26] */
/* name */ "R",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
- /* [61] */
+ /* [27] */
+ /* name */ "K",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [28] */
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [29] */
+ /* name */ "F",
+ /* matcher_indices */ MatcherIndicesIndex(102),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [30] */
+ /* name */ "W",
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [31] */
+ /* name */ "A",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [32] */
+ /* name */ "L",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [33] */
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [34] */
+ /* name */ "F",
+ /* matcher_indices */ MatcherIndicesIndex(358),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [35] */
+ /* name */ "W",
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [36] */
+ /* name */ "A",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [37] */
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [38] */
+ /* name */ "F",
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [39] */
+ /* name */ "W",
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [40] */
+ /* name */ "A",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [41] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(130),
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [42] */
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [43] */
+ /* name */ "A",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [44] */
+ /* name */ "L",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [45] */
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [46] */
+ /* name */ "F",
+ /* matcher_indices */ MatcherIndicesIndex(102),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [47] */
+ /* name */ "R",
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [48] */
+ /* name */ "A",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [49] */
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [50] */
+ /* name */ "F",
+ /* matcher_indices */ MatcherIndicesIndex(358),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [51] */
+ /* name */ "R",
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [52] */
+ /* name */ "A",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [53] */
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [54] */
+ /* name */ "F",
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [55] */
+ /* name */ "R",
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [56] */
+ /* name */ "A",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [57] */
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [58] */
+ /* name */ "F",
+ /* matcher_indices */ MatcherIndicesIndex(102),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [59] */
+ /* name */ "RW",
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [60] */
+ /* name */ "A",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [61] */
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(345),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [62] */
- /* name */ "N",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* name */ "F",
+ /* matcher_indices */ MatcherIndicesIndex(358),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [63] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(39),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [64] */
- /* name */ "N",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* name */ "RW",
+ /* matcher_indices */ MatcherIndicesIndex(6),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
+ /* [64] */
+ /* name */ "A",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
/* [65] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(308),
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(345),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [66] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(310),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "F",
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [67] */
- /* name */ "M",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* name */ "RW",
+ /* matcher_indices */ MatcherIndicesIndex(6),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [68] */
- /* name */ "N",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kNumber,
+ /* name */ "A",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
},
{
/* [69] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(308),
+ /* matcher_indices */ MatcherIndicesIndex(344),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [70] */
- /* name */ "N",
+ /* name */ "K",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [71] */
- /* name */ "M",
+ /* name */ "C",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [72] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(39),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [73] */
- /* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [74] */
- /* name */ "L",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [75] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(39),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [76] */
- /* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [77] */
- /* name */ "S",
- /* matcher_indices */ MatcherIndicesIndex(309),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [78] */
- /* name */ "S",
+ /* name */ "R",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
- /* [79] */
+ /* [73] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* matcher_indices */ MatcherIndicesIndex(182),
/* kind */ TemplateInfo::Kind::kType,
},
{
+ /* [74] */
+ /* name */ "N",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [75] */
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [76] */
+ /* name */ "N",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [77] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(344),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [78] */
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(346),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [79] */
+ /* name */ "M",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
/* [80] */
- /* name */ "A",
+ /* name */ "N",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [81] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(308),
+ /* matcher_indices */ MatcherIndicesIndex(344),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [82] */
- /* name */ "C",
+ /* name */ "N",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [83] */
- /* name */ "R",
+ /* name */ "M",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [84] */
- /* name */ "N",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kNumber,
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ /* kind */ TemplateInfo::Kind::kType,
},
{
/* [85] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(307),
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(345),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [86] */
- /* name */ "N",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kNumber,
+ /* name */ "L",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
},
{
/* [87] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(309),
+ /* matcher_indices */ MatcherIndicesIndex(13),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [88] */
- /* name */ "S",
- /* matcher_indices */ MatcherIndicesIndex(1),
- /* kind */ TemplateInfo::Kind::kNumber,
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(345),
+ /* kind */ TemplateInfo::Kind::kType,
},
{
/* [89] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* name */ "S",
+ /* matcher_indices */ MatcherIndicesIndex(345),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [90] */
- /* name */ "R",
- /* matcher_indices */ MatcherIndicesIndex(45),
+ /* name */ "S",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
@@ -5147,27 +5363,27 @@
},
{
/* [92] */
- /* name */ "W",
- /* matcher_indices */ MatcherIndicesIndex(12),
+ /* name */ "A",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [93] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(39),
+ /* matcher_indices */ MatcherIndicesIndex(344),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [94] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(39),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "C",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [95] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(136),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "R",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [96] */
@@ -5178,7 +5394,7 @@
{
/* [97] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(311),
+ /* matcher_indices */ MatcherIndicesIndex(343),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -5190,97 +5406,97 @@
{
/* [99] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(312),
+ /* matcher_indices */ MatcherIndicesIndex(345),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [100] */
- /* name */ "N",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* name */ "S",
+ /* matcher_indices */ MatcherIndicesIndex(1),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [101] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(323),
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [102] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(139),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "R",
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [103] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [104] */
+ /* name */ "W",
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [105] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [106] */
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(13),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [107] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(188),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [108] */
/* name */ "N",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
- /* [104] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(5),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [105] */
- /* name */ "S",
- /* matcher_indices */ MatcherIndicesIndex(39),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [106] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(187),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [107] */
- /* name */ "S",
- /* matcher_indices */ MatcherIndicesIndex(39),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [108] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(39),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
/* [109] */
- /* name */ "L",
- /* matcher_indices */ MatcherIndicesIndex(309),
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(347),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [110] */
- /* name */ "F",
+ /* name */ "N",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [111] */
- /* name */ "R",
- /* matcher_indices */ MatcherIndicesIndex(45),
- /* kind */ TemplateInfo::Kind::kNumber,
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(348),
+ /* kind */ TemplateInfo::Kind::kType,
},
{
/* [112] */
- /* name */ "F",
+ /* name */ "N",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [113] */
- /* name */ "W",
- /* matcher_indices */ MatcherIndicesIndex(12),
- /* kind */ TemplateInfo::Kind::kNumber,
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(359),
+ /* kind */ TemplateInfo::Kind::kType,
},
{
/* [114] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(325),
+ /* matcher_indices */ MatcherIndicesIndex(191),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -5292,115 +5508,187 @@
{
/* [116] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(147),
+ /* matcher_indices */ MatcherIndicesIndex(5),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [117] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(328),
+ /* name */ "S",
+ /* matcher_indices */ MatcherIndicesIndex(13),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [118] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(6),
+ /* matcher_indices */ MatcherIndicesIndex(239),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [119] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(329),
+ /* name */ "S",
+ /* matcher_indices */ MatcherIndicesIndex(13),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [120] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(200),
+ /* matcher_indices */ MatcherIndicesIndex(13),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [121] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(326),
+ /* name */ "L",
+ /* matcher_indices */ MatcherIndicesIndex(345),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [122] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(45),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "F",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [123] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(327),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "R",
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [124] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(57),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "F",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [125] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(330),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "W",
+ /* matcher_indices */ MatcherIndicesIndex(26),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [126] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(38),
+ /* matcher_indices */ MatcherIndicesIndex(361),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [127] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(313),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "N",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [128] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(326),
+ /* matcher_indices */ MatcherIndicesIndex(41),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [129] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(327),
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(364),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [130] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(328),
+ /* matcher_indices */ MatcherIndicesIndex(6),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [131] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(329),
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(365),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [132] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(330),
+ /* matcher_indices */ MatcherIndicesIndex(10),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [133] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(331),
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(362),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [134] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(332),
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [135] */
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(363),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [136] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(109),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [137] */
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(366),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [138] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(12),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [139] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(349),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [140] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(362),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [141] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(363),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [142] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(364),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [143] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(365),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [144] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(366),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [145] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(367),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [146] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(368),
/* kind */ TemplateInfo::Kind::kType,
},
};
@@ -5535,9 +5823,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(72),
- /* parameters */ ParameterIndex(288),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(84),
+ /* parameters */ ParameterIndex(324),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5546,9 +5834,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(72),
- /* parameters */ ParameterIndex(291),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(84),
+ /* parameters */ ParameterIndex(327),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5557,9 +5845,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 4,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(207),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(227),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5568,9 +5856,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(72),
- /* parameters */ ParameterIndex(294),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(84),
+ /* parameters */ ParameterIndex(330),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5579,9 +5867,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(75),
- /* parameters */ ParameterIndex(297),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(87),
+ /* parameters */ ParameterIndex(333),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5590,9 +5878,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(73),
- /* parameters */ ParameterIndex(300),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* templates */ TemplateIndex(85),
+ /* parameters */ ParameterIndex(336),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5601,9 +5889,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(30),
- /* parameters */ ParameterIndex(211),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* templates */ TemplateIndex(42),
+ /* parameters */ ParameterIndex(231),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5612,9 +5900,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(76),
- /* parameters */ ParameterIndex(303),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* templates */ TemplateIndex(88),
+ /* parameters */ ParameterIndex(339),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5623,9 +5911,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(342),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(378),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5634,9 +5922,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(33),
- /* parameters */ ParameterIndex(261),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* templates */ TemplateIndex(45),
+ /* parameters */ ParameterIndex(297),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5645,9 +5933,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(37),
- /* parameters */ ParameterIndex(261),
- /* return_matcher_indices */ MatcherIndicesIndex(199),
+ /* templates */ TemplateIndex(49),
+ /* parameters */ ParameterIndex(297),
+ /* return_matcher_indices */ MatcherIndicesIndex(247),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5656,9 +5944,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(41),
- /* parameters */ ParameterIndex(261),
- /* return_matcher_indices */ MatcherIndicesIndex(201),
+ /* templates */ TemplateIndex(53),
+ /* parameters */ ParameterIndex(297),
+ /* return_matcher_indices */ MatcherIndicesIndex(249),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5667,9 +5955,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(33),
- /* parameters */ ParameterIndex(264),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* templates */ TemplateIndex(45),
+ /* parameters */ ParameterIndex(300),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5678,9 +5966,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(37),
- /* parameters */ ParameterIndex(264),
- /* return_matcher_indices */ MatcherIndicesIndex(199),
+ /* templates */ TemplateIndex(49),
+ /* parameters */ ParameterIndex(300),
+ /* return_matcher_indices */ MatcherIndicesIndex(247),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5689,9 +5977,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(41),
- /* parameters */ ParameterIndex(264),
- /* return_matcher_indices */ MatcherIndicesIndex(201),
+ /* templates */ TemplateIndex(53),
+ /* parameters */ ParameterIndex(300),
+ /* return_matcher_indices */ MatcherIndicesIndex(249),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5700,9 +5988,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 4,
- /* templates */ TemplateIndex(33),
- /* parameters */ ParameterIndex(195),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* templates */ TemplateIndex(45),
+ /* parameters */ ParameterIndex(215),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5711,9 +5999,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 4,
- /* templates */ TemplateIndex(37),
- /* parameters */ ParameterIndex(195),
- /* return_matcher_indices */ MatcherIndicesIndex(199),
+ /* templates */ TemplateIndex(49),
+ /* parameters */ ParameterIndex(215),
+ /* return_matcher_indices */ MatcherIndicesIndex(247),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5722,9 +6010,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 4,
- /* templates */ TemplateIndex(41),
- /* parameters */ ParameterIndex(195),
- /* return_matcher_indices */ MatcherIndicesIndex(201),
+ /* templates */ TemplateIndex(53),
+ /* parameters */ ParameterIndex(215),
+ /* return_matcher_indices */ MatcherIndicesIndex(249),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5733,9 +6021,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(33),
- /* parameters */ ParameterIndex(267),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* templates */ TemplateIndex(45),
+ /* parameters */ ParameterIndex(303),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5744,9 +6032,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(37),
- /* parameters */ ParameterIndex(267),
- /* return_matcher_indices */ MatcherIndicesIndex(199),
+ /* templates */ TemplateIndex(49),
+ /* parameters */ ParameterIndex(303),
+ /* return_matcher_indices */ MatcherIndicesIndex(247),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5755,9 +6043,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(41),
- /* parameters */ ParameterIndex(267),
- /* return_matcher_indices */ MatcherIndicesIndex(201),
+ /* templates */ TemplateIndex(53),
+ /* parameters */ ParameterIndex(303),
+ /* return_matcher_indices */ MatcherIndicesIndex(249),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5766,9 +6054,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(45),
- /* parameters */ ParameterIndex(261),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* templates */ TemplateIndex(57),
+ /* parameters */ ParameterIndex(297),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5777,9 +6065,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(49),
- /* parameters */ ParameterIndex(261),
- /* return_matcher_indices */ MatcherIndicesIndex(199),
+ /* templates */ TemplateIndex(61),
+ /* parameters */ ParameterIndex(297),
+ /* return_matcher_indices */ MatcherIndicesIndex(247),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5788,9 +6076,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(53),
- /* parameters */ ParameterIndex(261),
- /* return_matcher_indices */ MatcherIndicesIndex(201),
+ /* templates */ TemplateIndex(65),
+ /* parameters */ ParameterIndex(297),
+ /* return_matcher_indices */ MatcherIndicesIndex(249),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5799,9 +6087,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(45),
- /* parameters */ ParameterIndex(264),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* templates */ TemplateIndex(57),
+ /* parameters */ ParameterIndex(300),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5810,9 +6098,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(49),
- /* parameters */ ParameterIndex(264),
- /* return_matcher_indices */ MatcherIndicesIndex(199),
+ /* templates */ TemplateIndex(61),
+ /* parameters */ ParameterIndex(300),
+ /* return_matcher_indices */ MatcherIndicesIndex(247),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5821,9 +6109,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(53),
- /* parameters */ ParameterIndex(264),
- /* return_matcher_indices */ MatcherIndicesIndex(201),
+ /* templates */ TemplateIndex(65),
+ /* parameters */ ParameterIndex(300),
+ /* return_matcher_indices */ MatcherIndicesIndex(249),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5832,9 +6120,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 4,
- /* templates */ TemplateIndex(45),
- /* parameters */ ParameterIndex(195),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* templates */ TemplateIndex(57),
+ /* parameters */ ParameterIndex(215),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5843,9 +6131,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 4,
- /* templates */ TemplateIndex(49),
- /* parameters */ ParameterIndex(195),
- /* return_matcher_indices */ MatcherIndicesIndex(199),
+ /* templates */ TemplateIndex(61),
+ /* parameters */ ParameterIndex(215),
+ /* return_matcher_indices */ MatcherIndicesIndex(247),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5854,9 +6142,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 4,
- /* templates */ TemplateIndex(53),
- /* parameters */ ParameterIndex(195),
- /* return_matcher_indices */ MatcherIndicesIndex(201),
+ /* templates */ TemplateIndex(65),
+ /* parameters */ ParameterIndex(215),
+ /* return_matcher_indices */ MatcherIndicesIndex(249),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5865,9 +6153,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(45),
- /* parameters */ ParameterIndex(267),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* templates */ TemplateIndex(57),
+ /* parameters */ ParameterIndex(303),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5876,9 +6164,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(49),
- /* parameters */ ParameterIndex(267),
- /* return_matcher_indices */ MatcherIndicesIndex(199),
+ /* templates */ TemplateIndex(61),
+ /* parameters */ ParameterIndex(303),
+ /* return_matcher_indices */ MatcherIndicesIndex(247),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5887,9 +6175,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(53),
- /* parameters */ ParameterIndex(267),
- /* return_matcher_indices */ MatcherIndicesIndex(201),
+ /* templates */ TemplateIndex(65),
+ /* parameters */ ParameterIndex(303),
+ /* return_matcher_indices */ MatcherIndicesIndex(249),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5898,9 +6186,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(288),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(324),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5909,9 +6197,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(108),
- /* parameters */ ParameterIndex(322),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* templates */ TemplateIndex(120),
+ /* parameters */ ParameterIndex(358),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5920,9 +6208,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(29),
+ /* templates */ TemplateIndex(41),
/* parameters */ ParameterIndex(75),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5931,9 +6219,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(108),
- /* parameters */ ParameterIndex(324),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* templates */ TemplateIndex(120),
+ /* parameters */ ParameterIndex(360),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5942,9 +6230,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(29),
+ /* templates */ TemplateIndex(41),
/* parameters */ ParameterIndex(27),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5953,9 +6241,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(108),
- /* parameters */ ParameterIndex(326),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* templates */ TemplateIndex(120),
+ /* parameters */ ParameterIndex(362),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5964,9 +6252,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(294),
- /* return_matcher_indices */ MatcherIndicesIndex(44),
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(330),
+ /* return_matcher_indices */ MatcherIndicesIndex(33),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5975,9 +6263,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(108),
- /* parameters */ ParameterIndex(328),
- /* return_matcher_indices */ MatcherIndicesIndex(44),
+ /* templates */ TemplateIndex(120),
+ /* parameters */ ParameterIndex(364),
+ /* return_matcher_indices */ MatcherIndicesIndex(33),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5986,9 +6274,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(164),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(184),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5997,9 +6285,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(108),
- /* parameters */ ParameterIndex(330),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* templates */ TemplateIndex(120),
+ /* parameters */ ParameterIndex(366),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6008,9 +6296,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(29),
+ /* templates */ TemplateIndex(41),
/* parameters */ ParameterIndex(80),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6019,9 +6307,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(108),
- /* parameters */ ParameterIndex(332),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* templates */ TemplateIndex(120),
+ /* parameters */ ParameterIndex(368),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6030,9 +6318,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(297),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(333),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6043,7 +6331,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6052,9 +6340,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(334),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(370),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6065,7 +6353,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6074,9 +6362,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(336),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(372),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6086,8 +6374,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(171),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* parameters */ ParameterIndex(191),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6096,9 +6384,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(338),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(374),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6109,7 +6397,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(94),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6118,9 +6406,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(340),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(376),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6130,8 +6418,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(303),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* parameters */ ParameterIndex(339),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6140,9 +6428,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(110),
- /* parameters */ ParameterIndex(400),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* templates */ TemplateIndex(122),
+ /* parameters */ ParameterIndex(436),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6151,9 +6439,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(110),
- /* parameters */ ParameterIndex(401),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* templates */ TemplateIndex(122),
+ /* parameters */ ParameterIndex(437),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6162,9 +6450,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(110),
- /* parameters */ ParameterIndex(402),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* templates */ TemplateIndex(122),
+ /* parameters */ ParameterIndex(438),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6173,9 +6461,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(110),
- /* parameters */ ParameterIndex(403),
- /* return_matcher_indices */ MatcherIndicesIndex(44),
+ /* templates */ TemplateIndex(122),
+ /* parameters */ ParameterIndex(439),
+ /* return_matcher_indices */ MatcherIndicesIndex(33),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6184,9 +6472,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(112),
- /* parameters */ ParameterIndex(400),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* templates */ TemplateIndex(124),
+ /* parameters */ ParameterIndex(436),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6195,9 +6483,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(112),
- /* parameters */ ParameterIndex(401),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* templates */ TemplateIndex(124),
+ /* parameters */ ParameterIndex(437),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6206,9 +6494,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(112),
- /* parameters */ ParameterIndex(402),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* templates */ TemplateIndex(124),
+ /* parameters */ ParameterIndex(438),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6217,9 +6505,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(112),
- /* parameters */ ParameterIndex(403),
- /* return_matcher_indices */ MatcherIndicesIndex(44),
+ /* templates */ TemplateIndex(124),
+ /* parameters */ ParameterIndex(439),
+ /* return_matcher_indices */ MatcherIndicesIndex(33),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6229,8 +6517,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(258),
- /* return_matcher_indices */ MatcherIndicesIndex(205),
+ /* parameters */ ParameterIndex(294),
+ /* return_matcher_indices */ MatcherIndicesIndex(72),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6241,7 +6529,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(251),
+ /* return_matcher_indices */ MatcherIndicesIndex(287),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -6250,9 +6538,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
+ /* templates */ TemplateIndex(145),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -6261,9 +6549,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
- /* parameters */ ParameterIndex(235),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(145),
+ /* parameters */ ParameterIndex(271),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -6272,9 +6560,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(235),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(271),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -6283,9 +6571,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
+ /* templates */ TemplateIndex(145),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(109),
},
{
@@ -6294,9 +6582,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
+ /* templates */ TemplateIndex(109),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(109),
},
{
@@ -6305,9 +6593,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
- /* parameters */ ParameterIndex(223),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(145),
+ /* parameters */ ParameterIndex(259),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -6316,9 +6604,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(223),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(259),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -6327,9 +6615,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
- /* parameters */ ParameterIndex(309),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(145),
+ /* parameters */ ParameterIndex(345),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -6338,9 +6626,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(309),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(345),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -6349,9 +6637,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
- /* parameters */ ParameterIndex(312),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(145),
+ /* parameters */ ParameterIndex(348),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -6360,9 +6648,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(312),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(348),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -6371,9 +6659,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
- /* parameters */ ParameterIndex(315),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(145),
+ /* parameters */ ParameterIndex(351),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -6382,9 +6670,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(315),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(351),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -6393,9 +6681,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
- /* parameters */ ParameterIndex(375),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(145),
+ /* parameters */ ParameterIndex(411),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -6404,9 +6692,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(375),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(411),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -6415,9 +6703,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
- /* parameters */ ParameterIndex(377),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(145),
+ /* parameters */ ParameterIndex(413),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -6426,9 +6714,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(377),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(413),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -6437,9 +6725,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
- /* parameters */ ParameterIndex(379),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(145),
+ /* parameters */ ParameterIndex(415),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -6448,9 +6736,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(379),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(415),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -6459,9 +6747,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(116),
- /* parameters */ ParameterIndex(409),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(128),
+ /* parameters */ ParameterIndex(445),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -6470,9 +6758,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(118),
- /* parameters */ ParameterIndex(409),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(130),
+ /* parameters */ ParameterIndex(445),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -6481,9 +6769,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(120),
- /* parameters */ ParameterIndex(409),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(132),
+ /* parameters */ ParameterIndex(445),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -6492,9 +6780,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(122),
- /* parameters */ ParameterIndex(409),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(134),
+ /* parameters */ ParameterIndex(445),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -6503,9 +6791,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(124),
- /* parameters */ ParameterIndex(409),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(136),
+ /* parameters */ ParameterIndex(445),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -6516,7 +6804,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(249),
+ /* return_matcher_indices */ MatcherIndicesIndex(101),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -6525,9 +6813,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
+ /* templates */ TemplateIndex(145),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -6536,9 +6824,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
- /* parameters */ ParameterIndex(231),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(145),
+ /* parameters */ ParameterIndex(267),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -6547,9 +6835,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(231),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(267),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -6558,9 +6846,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
+ /* templates */ TemplateIndex(145),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(109),
},
{
@@ -6569,9 +6857,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
+ /* templates */ TemplateIndex(109),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(109),
},
{
@@ -6580,9 +6868,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
- /* parameters */ ParameterIndex(223),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(145),
+ /* parameters */ ParameterIndex(259),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -6591,9 +6879,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(223),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(259),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -6602,9 +6890,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
- /* parameters */ ParameterIndex(309),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(145),
+ /* parameters */ ParameterIndex(345),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -6613,9 +6901,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(309),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(345),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -6624,9 +6912,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
- /* parameters */ ParameterIndex(312),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(145),
+ /* parameters */ ParameterIndex(348),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -6635,9 +6923,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(312),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(348),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -6646,9 +6934,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(116),
- /* parameters */ ParameterIndex(408),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(128),
+ /* parameters */ ParameterIndex(444),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -6657,9 +6945,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(118),
- /* parameters */ ParameterIndex(408),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(130),
+ /* parameters */ ParameterIndex(444),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -6668,9 +6956,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(120),
- /* parameters */ ParameterIndex(408),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(132),
+ /* parameters */ ParameterIndex(444),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -6679,9 +6967,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(122),
- /* parameters */ ParameterIndex(408),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(134),
+ /* parameters */ ParameterIndex(444),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -6690,9 +6978,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(124),
- /* parameters */ ParameterIndex(408),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
+ /* templates */ TemplateIndex(136),
+ /* parameters */ ParameterIndex(444),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -6702,8 +6990,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(255),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* parameters */ ParameterIndex(291),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6714,7 +7002,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(44),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6724,8 +7012,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(175),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* parameters */ ParameterIndex(195),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6734,9 +7022,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(19),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6745,9 +7033,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(99),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6758,7 +7046,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(50),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6768,8 +7056,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(179),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* parameters */ ParameterIndex(199),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6780,7 +7068,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(119),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6789,9 +7077,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(56),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6802,7 +7090,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(139),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6812,8 +7100,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(167),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* parameters */ ParameterIndex(187),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6822,9 +7110,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(68),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6833,9 +7121,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(84),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6845,8 +7133,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(191),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* parameters */ ParameterIndex(211),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6855,9 +7143,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(144),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6868,7 +7156,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(124),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6879,7 +7167,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(124),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6888,9 +7176,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(62),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6899,9 +7187,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(62),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6912,7 +7200,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(129),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6923,7 +7211,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(129),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6933,8 +7221,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(187),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* parameters */ ParameterIndex(207),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6943,9 +7231,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(134),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6954,9 +7242,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(20),
+ /* templates */ TemplateIndex(32),
/* parameters */ ParameterIndex(139),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6965,9 +7253,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(20),
+ /* templates */ TemplateIndex(32),
/* parameters */ ParameterIndex(139),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6976,9 +7264,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(68),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6987,9 +7275,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(68),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6998,9 +7286,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(20),
- /* parameters */ ParameterIndex(191),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* templates */ TemplateIndex(32),
+ /* parameters */ ParameterIndex(211),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7009,9 +7297,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(144),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7022,7 +7310,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(247),
+ /* return_matcher_indices */ MatcherIndicesIndex(285),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -7031,9 +7319,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
+ /* templates */ TemplateIndex(145),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(239),
+ /* return_matcher_indices */ MatcherIndicesIndex(279),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -7042,9 +7330,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
- /* parameters */ ParameterIndex(227),
- /* return_matcher_indices */ MatcherIndicesIndex(239),
+ /* templates */ TemplateIndex(145),
+ /* parameters */ ParameterIndex(263),
+ /* return_matcher_indices */ MatcherIndicesIndex(279),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7053,9 +7341,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(227),
- /* return_matcher_indices */ MatcherIndicesIndex(239),
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(263),
+ /* return_matcher_indices */ MatcherIndicesIndex(279),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7064,9 +7352,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
+ /* templates */ TemplateIndex(145),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(239),
+ /* return_matcher_indices */ MatcherIndicesIndex(279),
/* const_eval_fn */ ConstEvalFunctionIndex(109),
},
{
@@ -7075,9 +7363,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
+ /* templates */ TemplateIndex(109),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(239),
+ /* return_matcher_indices */ MatcherIndicesIndex(279),
/* const_eval_fn */ ConstEvalFunctionIndex(109),
},
{
@@ -7086,9 +7374,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(133),
- /* parameters */ ParameterIndex(223),
- /* return_matcher_indices */ MatcherIndicesIndex(239),
+ /* templates */ TemplateIndex(145),
+ /* parameters */ ParameterIndex(259),
+ /* return_matcher_indices */ MatcherIndicesIndex(279),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -7097,9 +7385,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(223),
- /* return_matcher_indices */ MatcherIndicesIndex(239),
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(259),
+ /* return_matcher_indices */ MatcherIndicesIndex(279),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -7108,9 +7396,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(116),
- /* parameters */ ParameterIndex(389),
- /* return_matcher_indices */ MatcherIndicesIndex(239),
+ /* templates */ TemplateIndex(128),
+ /* parameters */ ParameterIndex(425),
+ /* return_matcher_indices */ MatcherIndicesIndex(279),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7119,9 +7407,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(118),
- /* parameters */ ParameterIndex(389),
- /* return_matcher_indices */ MatcherIndicesIndex(239),
+ /* templates */ TemplateIndex(130),
+ /* parameters */ ParameterIndex(425),
+ /* return_matcher_indices */ MatcherIndicesIndex(279),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7130,9 +7418,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(120),
- /* parameters */ ParameterIndex(389),
- /* return_matcher_indices */ MatcherIndicesIndex(239),
+ /* templates */ TemplateIndex(132),
+ /* parameters */ ParameterIndex(425),
+ /* return_matcher_indices */ MatcherIndicesIndex(279),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7141,9 +7429,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(122),
- /* parameters */ ParameterIndex(389),
- /* return_matcher_indices */ MatcherIndicesIndex(239),
+ /* templates */ TemplateIndex(134),
+ /* parameters */ ParameterIndex(425),
+ /* return_matcher_indices */ MatcherIndicesIndex(279),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7152,9 +7440,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(124),
- /* parameters */ ParameterIndex(389),
- /* return_matcher_indices */ MatcherIndicesIndex(239),
+ /* templates */ TemplateIndex(136),
+ /* parameters */ ParameterIndex(425),
+ /* return_matcher_indices */ MatcherIndicesIndex(279),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7163,9 +7451,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(29),
+ /* templates */ TemplateIndex(41),
/* parameters */ ParameterIndex(74),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7174,9 +7462,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(29),
+ /* templates */ TemplateIndex(41),
/* parameters */ ParameterIndex(74),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7185,9 +7473,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(29),
+ /* templates */ TemplateIndex(41),
/* parameters */ ParameterIndex(26),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7196,9 +7484,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(29),
+ /* templates */ TemplateIndex(41),
/* parameters */ ParameterIndex(26),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7207,9 +7495,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(163),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(183),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7218,9 +7506,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(29),
+ /* templates */ TemplateIndex(41),
/* parameters */ ParameterIndex(79),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7231,7 +7519,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(139),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7241,8 +7529,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(167),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* parameters */ ParameterIndex(187),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7251,9 +7539,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(68),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7262,9 +7550,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(84),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7274,8 +7562,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(191),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* parameters */ ParameterIndex(211),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7284,9 +7572,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(144),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7295,8 +7583,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(261),
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(297),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -7306,8 +7594,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(264),
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(300),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -7317,8 +7605,8 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 4,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(195),
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(215),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -7328,8 +7616,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(16),
- /* parameters */ ParameterIndex(267),
+ /* templates */ TemplateIndex(28),
+ /* parameters */ ParameterIndex(303),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -7339,8 +7627,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(21),
- /* parameters */ ParameterIndex(270),
+ /* templates */ TemplateIndex(33),
+ /* parameters */ ParameterIndex(306),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -7350,8 +7638,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(21),
- /* parameters */ ParameterIndex(273),
+ /* templates */ TemplateIndex(33),
+ /* parameters */ ParameterIndex(309),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -7361,8 +7649,8 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 4,
- /* templates */ TemplateIndex(21),
- /* parameters */ ParameterIndex(199),
+ /* templates */ TemplateIndex(33),
+ /* parameters */ ParameterIndex(219),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -7372,8 +7660,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(21),
- /* parameters */ ParameterIndex(276),
+ /* templates */ TemplateIndex(33),
+ /* parameters */ ParameterIndex(312),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -7383,8 +7671,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(25),
- /* parameters */ ParameterIndex(279),
+ /* templates */ TemplateIndex(37),
+ /* parameters */ ParameterIndex(315),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -7394,8 +7682,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(25),
- /* parameters */ ParameterIndex(282),
+ /* templates */ TemplateIndex(37),
+ /* parameters */ ParameterIndex(318),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -7405,8 +7693,8 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 4,
- /* templates */ TemplateIndex(25),
- /* parameters */ ParameterIndex(203),
+ /* templates */ TemplateIndex(37),
+ /* parameters */ ParameterIndex(223),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -7416,8 +7704,8 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(25),
- /* parameters */ ParameterIndex(285),
+ /* templates */ TemplateIndex(37),
+ /* parameters */ ParameterIndex(321),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -7427,9 +7715,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(93),
- /* parameters */ ParameterIndex(247),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* templates */ TemplateIndex(105),
+ /* parameters */ ParameterIndex(283),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
},
{
@@ -7438,9 +7726,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(118),
- /* parameters */ ParameterIndex(382),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* templates */ TemplateIndex(130),
+ /* parameters */ ParameterIndex(418),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
},
{
@@ -7449,9 +7737,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 3,
- /* templates */ TemplateIndex(61),
- /* parameters */ ParameterIndex(383),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* templates */ TemplateIndex(73),
+ /* parameters */ ParameterIndex(419),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
},
{
@@ -7460,9 +7748,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(95),
- /* parameters */ ParameterIndex(384),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* templates */ TemplateIndex(107),
+ /* parameters */ ParameterIndex(420),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
},
{
@@ -7471,9 +7759,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(122),
- /* parameters */ ParameterIndex(385),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* templates */ TemplateIndex(134),
+ /* parameters */ ParameterIndex(421),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
},
{
@@ -7482,9 +7770,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(102),
- /* parameters */ ParameterIndex(386),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* templates */ TemplateIndex(114),
+ /* parameters */ ParameterIndex(422),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
},
{
@@ -7493,9 +7781,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(387),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(423),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
},
{
@@ -7504,9 +7792,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(126),
- /* parameters */ ParameterIndex(388),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* templates */ TemplateIndex(138),
+ /* parameters */ ParameterIndex(424),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
},
{
@@ -7515,9 +7803,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(104),
- /* parameters */ ParameterIndex(247),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* templates */ TemplateIndex(116),
+ /* parameters */ ParameterIndex(283),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
},
{
@@ -7526,9 +7814,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(106),
- /* parameters */ ParameterIndex(389),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* templates */ TemplateIndex(118),
+ /* parameters */ ParameterIndex(425),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
},
{
@@ -7537,9 +7825,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(288),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(324),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7548,9 +7836,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(29),
+ /* templates */ TemplateIndex(41),
/* parameters */ ParameterIndex(75),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7559,9 +7847,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(29),
+ /* templates */ TemplateIndex(41),
/* parameters */ ParameterIndex(27),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7570,9 +7858,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(294),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(330),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7581,9 +7869,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(164),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(184),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7592,9 +7880,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(29),
+ /* templates */ TemplateIndex(41),
/* parameters */ ParameterIndex(80),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7605,7 +7893,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7616,7 +7904,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7626,8 +7914,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(171),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* parameters */ ParameterIndex(191),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7638,7 +7926,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(94),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7647,9 +7935,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(85),
+ /* templates */ TemplateIndex(97),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
/* const_eval_fn */ ConstEvalFunctionIndex(88),
},
{
@@ -7658,9 +7946,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
/* const_eval_fn */ ConstEvalFunctionIndex(88),
},
{
@@ -7669,9 +7957,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(362),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(398),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
/* const_eval_fn */ ConstEvalFunctionIndex(88),
},
{
@@ -7680,9 +7968,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(363),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(399),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
/* const_eval_fn */ ConstEvalFunctionIndex(88),
},
{
@@ -7691,9 +7979,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(69),
- /* parameters */ ParameterIndex(368),
- /* return_matcher_indices */ MatcherIndicesIndex(105),
+ /* templates */ TemplateIndex(81),
+ /* parameters */ ParameterIndex(404),
+ /* return_matcher_indices */ MatcherIndicesIndex(157),
/* const_eval_fn */ ConstEvalFunctionIndex(88),
},
{
@@ -7702,9 +7990,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(69),
- /* parameters */ ParameterIndex(367),
- /* return_matcher_indices */ MatcherIndicesIndex(105),
+ /* templates */ TemplateIndex(81),
+ /* parameters */ ParameterIndex(403),
+ /* return_matcher_indices */ MatcherIndicesIndex(157),
/* const_eval_fn */ ConstEvalFunctionIndex(88),
},
{
@@ -7713,9 +8001,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(81),
- /* parameters */ ParameterIndex(369),
- /* return_matcher_indices */ MatcherIndicesIndex(181),
+ /* templates */ TemplateIndex(93),
+ /* parameters */ ParameterIndex(405),
+ /* return_matcher_indices */ MatcherIndicesIndex(233),
/* const_eval_fn */ ConstEvalFunctionIndex(89),
},
{
@@ -7724,9 +8012,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(81),
- /* parameters */ ParameterIndex(371),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
+ /* templates */ TemplateIndex(93),
+ /* parameters */ ParameterIndex(407),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
/* const_eval_fn */ ConstEvalFunctionIndex(90),
},
{
@@ -7735,9 +8023,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 4,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(373),
- /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(409),
+ /* return_matcher_indices */ MatcherIndicesIndex(161),
/* const_eval_fn */ ConstEvalFunctionIndex(91),
},
{
@@ -7746,9 +8034,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
+ /* templates */ TemplateIndex(146),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(255),
+ /* return_matcher_indices */ MatcherIndicesIndex(291),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -7757,9 +8045,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
- /* parameters */ ParameterIndex(410),
- /* return_matcher_indices */ MatcherIndicesIndex(255),
+ /* templates */ TemplateIndex(146),
+ /* parameters */ ParameterIndex(446),
+ /* return_matcher_indices */ MatcherIndicesIndex(291),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7768,9 +8056,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(410),
- /* return_matcher_indices */ MatcherIndicesIndex(255),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(446),
+ /* return_matcher_indices */ MatcherIndicesIndex(291),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7779,9 +8067,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(255),
+ /* return_matcher_indices */ MatcherIndicesIndex(291),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7790,9 +8078,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(255),
+ /* return_matcher_indices */ MatcherIndicesIndex(291),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7801,9 +8089,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(227),
- /* return_matcher_indices */ MatcherIndicesIndex(255),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(263),
+ /* return_matcher_indices */ MatcherIndicesIndex(291),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7812,9 +8100,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(227),
- /* return_matcher_indices */ MatcherIndicesIndex(255),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(263),
+ /* return_matcher_indices */ MatcherIndicesIndex(291),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7823,9 +8111,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(118),
- /* parameters */ ParameterIndex(411),
- /* return_matcher_indices */ MatcherIndicesIndex(255),
+ /* templates */ TemplateIndex(130),
+ /* parameters */ ParameterIndex(447),
+ /* return_matcher_indices */ MatcherIndicesIndex(291),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7834,9 +8122,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(116),
- /* parameters */ ParameterIndex(412),
- /* return_matcher_indices */ MatcherIndicesIndex(255),
+ /* templates */ TemplateIndex(128),
+ /* parameters */ ParameterIndex(448),
+ /* return_matcher_indices */ MatcherIndicesIndex(291),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7845,9 +8133,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
+ /* templates */ TemplateIndex(146),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(261),
+ /* return_matcher_indices */ MatcherIndicesIndex(297),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -7856,9 +8144,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
- /* parameters */ ParameterIndex(413),
- /* return_matcher_indices */ MatcherIndicesIndex(261),
+ /* templates */ TemplateIndex(146),
+ /* parameters */ ParameterIndex(449),
+ /* return_matcher_indices */ MatcherIndicesIndex(297),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7867,9 +8155,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(413),
- /* return_matcher_indices */ MatcherIndicesIndex(261),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(449),
+ /* return_matcher_indices */ MatcherIndicesIndex(297),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7878,9 +8166,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(261),
+ /* return_matcher_indices */ MatcherIndicesIndex(297),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7889,9 +8177,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(261),
+ /* return_matcher_indices */ MatcherIndicesIndex(297),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7900,9 +8188,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(231),
- /* return_matcher_indices */ MatcherIndicesIndex(261),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(267),
+ /* return_matcher_indices */ MatcherIndicesIndex(297),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7911,9 +8199,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(231),
- /* return_matcher_indices */ MatcherIndicesIndex(261),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(267),
+ /* return_matcher_indices */ MatcherIndicesIndex(297),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7922,9 +8210,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(118),
- /* parameters */ ParameterIndex(414),
- /* return_matcher_indices */ MatcherIndicesIndex(261),
+ /* templates */ TemplateIndex(130),
+ /* parameters */ ParameterIndex(450),
+ /* return_matcher_indices */ MatcherIndicesIndex(297),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7933,9 +8221,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(116),
- /* parameters */ ParameterIndex(415),
- /* return_matcher_indices */ MatcherIndicesIndex(261),
+ /* templates */ TemplateIndex(128),
+ /* parameters */ ParameterIndex(451),
+ /* return_matcher_indices */ MatcherIndicesIndex(297),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7944,9 +8232,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
+ /* templates */ TemplateIndex(146),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(94),
+ /* return_matcher_indices */ MatcherIndicesIndex(146),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -7955,9 +8243,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
- /* parameters */ ParameterIndex(416),
- /* return_matcher_indices */ MatcherIndicesIndex(94),
+ /* templates */ TemplateIndex(146),
+ /* parameters */ ParameterIndex(452),
+ /* return_matcher_indices */ MatcherIndicesIndex(146),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7966,9 +8254,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(416),
- /* return_matcher_indices */ MatcherIndicesIndex(94),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(452),
+ /* return_matcher_indices */ MatcherIndicesIndex(146),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7977,9 +8265,9 @@
/* num_parameters */ 8,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(94),
+ /* return_matcher_indices */ MatcherIndicesIndex(146),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7988,9 +8276,9 @@
/* num_parameters */ 8,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(94),
+ /* return_matcher_indices */ MatcherIndicesIndex(146),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7999,9 +8287,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(235),
- /* return_matcher_indices */ MatcherIndicesIndex(94),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(271),
+ /* return_matcher_indices */ MatcherIndicesIndex(146),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -8010,9 +8298,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(235),
- /* return_matcher_indices */ MatcherIndicesIndex(94),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(271),
+ /* return_matcher_indices */ MatcherIndicesIndex(146),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -8021,9 +8309,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(118),
- /* parameters */ ParameterIndex(417),
- /* return_matcher_indices */ MatcherIndicesIndex(94),
+ /* templates */ TemplateIndex(130),
+ /* parameters */ ParameterIndex(453),
+ /* return_matcher_indices */ MatcherIndicesIndex(146),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8032,9 +8320,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(116),
- /* parameters */ ParameterIndex(418),
- /* return_matcher_indices */ MatcherIndicesIndex(94),
+ /* templates */ TemplateIndex(128),
+ /* parameters */ ParameterIndex(454),
+ /* return_matcher_indices */ MatcherIndicesIndex(146),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8043,9 +8331,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
+ /* templates */ TemplateIndex(146),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(271),
+ /* return_matcher_indices */ MatcherIndicesIndex(307),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -8054,9 +8342,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
- /* parameters */ ParameterIndex(419),
- /* return_matcher_indices */ MatcherIndicesIndex(271),
+ /* templates */ TemplateIndex(146),
+ /* parameters */ ParameterIndex(455),
+ /* return_matcher_indices */ MatcherIndicesIndex(307),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -8065,9 +8353,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(419),
- /* return_matcher_indices */ MatcherIndicesIndex(271),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(455),
+ /* return_matcher_indices */ MatcherIndicesIndex(307),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -8076,9 +8364,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(271),
+ /* return_matcher_indices */ MatcherIndicesIndex(307),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -8087,9 +8375,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(271),
+ /* return_matcher_indices */ MatcherIndicesIndex(307),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -8098,9 +8386,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(227),
- /* return_matcher_indices */ MatcherIndicesIndex(271),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(263),
+ /* return_matcher_indices */ MatcherIndicesIndex(307),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -8109,9 +8397,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(227),
- /* return_matcher_indices */ MatcherIndicesIndex(271),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(263),
+ /* return_matcher_indices */ MatcherIndicesIndex(307),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -8120,9 +8408,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(118),
- /* parameters */ ParameterIndex(420),
- /* return_matcher_indices */ MatcherIndicesIndex(271),
+ /* templates */ TemplateIndex(130),
+ /* parameters */ ParameterIndex(456),
+ /* return_matcher_indices */ MatcherIndicesIndex(307),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8131,9 +8419,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(116),
- /* parameters */ ParameterIndex(421),
- /* return_matcher_indices */ MatcherIndicesIndex(271),
+ /* templates */ TemplateIndex(128),
+ /* parameters */ ParameterIndex(457),
+ /* return_matcher_indices */ MatcherIndicesIndex(307),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8142,9 +8430,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
+ /* templates */ TemplateIndex(146),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(277),
+ /* return_matcher_indices */ MatcherIndicesIndex(313),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -8153,9 +8441,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
- /* parameters */ ParameterIndex(422),
- /* return_matcher_indices */ MatcherIndicesIndex(277),
+ /* templates */ TemplateIndex(146),
+ /* parameters */ ParameterIndex(458),
+ /* return_matcher_indices */ MatcherIndicesIndex(313),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -8164,9 +8452,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(422),
- /* return_matcher_indices */ MatcherIndicesIndex(277),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(458),
+ /* return_matcher_indices */ MatcherIndicesIndex(313),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -8175,9 +8463,9 @@
/* num_parameters */ 9,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(277),
+ /* return_matcher_indices */ MatcherIndicesIndex(313),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -8186,9 +8474,9 @@
/* num_parameters */ 9,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(277),
+ /* return_matcher_indices */ MatcherIndicesIndex(313),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -8197,9 +8485,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(231),
- /* return_matcher_indices */ MatcherIndicesIndex(277),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(267),
+ /* return_matcher_indices */ MatcherIndicesIndex(313),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -8208,9 +8496,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(231),
- /* return_matcher_indices */ MatcherIndicesIndex(277),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(267),
+ /* return_matcher_indices */ MatcherIndicesIndex(313),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -8219,9 +8507,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(118),
- /* parameters */ ParameterIndex(423),
- /* return_matcher_indices */ MatcherIndicesIndex(277),
+ /* templates */ TemplateIndex(130),
+ /* parameters */ ParameterIndex(459),
+ /* return_matcher_indices */ MatcherIndicesIndex(313),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8230,9 +8518,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(116),
- /* parameters */ ParameterIndex(424),
- /* return_matcher_indices */ MatcherIndicesIndex(277),
+ /* templates */ TemplateIndex(128),
+ /* parameters */ ParameterIndex(460),
+ /* return_matcher_indices */ MatcherIndicesIndex(313),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8241,9 +8529,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
+ /* templates */ TemplateIndex(146),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(283),
+ /* return_matcher_indices */ MatcherIndicesIndex(319),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -8252,9 +8540,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
- /* parameters */ ParameterIndex(425),
- /* return_matcher_indices */ MatcherIndicesIndex(283),
+ /* templates */ TemplateIndex(146),
+ /* parameters */ ParameterIndex(461),
+ /* return_matcher_indices */ MatcherIndicesIndex(319),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -8263,9 +8551,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(425),
- /* return_matcher_indices */ MatcherIndicesIndex(283),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(461),
+ /* return_matcher_indices */ MatcherIndicesIndex(319),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -8274,9 +8562,9 @@
/* num_parameters */ 12,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(283),
+ /* return_matcher_indices */ MatcherIndicesIndex(319),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -8285,9 +8573,9 @@
/* num_parameters */ 12,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(283),
+ /* return_matcher_indices */ MatcherIndicesIndex(319),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -8296,9 +8584,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(235),
- /* return_matcher_indices */ MatcherIndicesIndex(283),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(271),
+ /* return_matcher_indices */ MatcherIndicesIndex(319),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -8307,9 +8595,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(235),
- /* return_matcher_indices */ MatcherIndicesIndex(283),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(271),
+ /* return_matcher_indices */ MatcherIndicesIndex(319),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -8318,9 +8606,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(118),
- /* parameters */ ParameterIndex(426),
- /* return_matcher_indices */ MatcherIndicesIndex(283),
+ /* templates */ TemplateIndex(130),
+ /* parameters */ ParameterIndex(462),
+ /* return_matcher_indices */ MatcherIndicesIndex(319),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8329,9 +8617,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(116),
- /* parameters */ ParameterIndex(427),
- /* return_matcher_indices */ MatcherIndicesIndex(283),
+ /* templates */ TemplateIndex(128),
+ /* parameters */ ParameterIndex(463),
+ /* return_matcher_indices */ MatcherIndicesIndex(319),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8340,9 +8628,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
+ /* templates */ TemplateIndex(146),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(289),
+ /* return_matcher_indices */ MatcherIndicesIndex(325),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -8351,9 +8639,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
- /* parameters */ ParameterIndex(428),
- /* return_matcher_indices */ MatcherIndicesIndex(289),
+ /* templates */ TemplateIndex(146),
+ /* parameters */ ParameterIndex(464),
+ /* return_matcher_indices */ MatcherIndicesIndex(325),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -8362,9 +8650,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(428),
- /* return_matcher_indices */ MatcherIndicesIndex(289),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(464),
+ /* return_matcher_indices */ MatcherIndicesIndex(325),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -8373,9 +8661,9 @@
/* num_parameters */ 8,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(289),
+ /* return_matcher_indices */ MatcherIndicesIndex(325),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -8384,9 +8672,9 @@
/* num_parameters */ 8,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(289),
+ /* return_matcher_indices */ MatcherIndicesIndex(325),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -8395,9 +8683,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(227),
- /* return_matcher_indices */ MatcherIndicesIndex(289),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(263),
+ /* return_matcher_indices */ MatcherIndicesIndex(325),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -8406,9 +8694,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(227),
- /* return_matcher_indices */ MatcherIndicesIndex(289),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(263),
+ /* return_matcher_indices */ MatcherIndicesIndex(325),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -8417,9 +8705,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(118),
- /* parameters */ ParameterIndex(429),
- /* return_matcher_indices */ MatcherIndicesIndex(289),
+ /* templates */ TemplateIndex(130),
+ /* parameters */ ParameterIndex(465),
+ /* return_matcher_indices */ MatcherIndicesIndex(325),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8428,9 +8716,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(116),
- /* parameters */ ParameterIndex(430),
- /* return_matcher_indices */ MatcherIndicesIndex(289),
+ /* templates */ TemplateIndex(128),
+ /* parameters */ ParameterIndex(466),
+ /* return_matcher_indices */ MatcherIndicesIndex(325),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8439,9 +8727,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
+ /* templates */ TemplateIndex(146),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(295),
+ /* return_matcher_indices */ MatcherIndicesIndex(331),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -8450,9 +8738,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
- /* parameters */ ParameterIndex(431),
- /* return_matcher_indices */ MatcherIndicesIndex(295),
+ /* templates */ TemplateIndex(146),
+ /* parameters */ ParameterIndex(467),
+ /* return_matcher_indices */ MatcherIndicesIndex(331),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -8461,9 +8749,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(431),
- /* return_matcher_indices */ MatcherIndicesIndex(295),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(467),
+ /* return_matcher_indices */ MatcherIndicesIndex(331),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -8472,9 +8760,9 @@
/* num_parameters */ 12,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(295),
+ /* return_matcher_indices */ MatcherIndicesIndex(331),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -8483,9 +8771,9 @@
/* num_parameters */ 12,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(295),
+ /* return_matcher_indices */ MatcherIndicesIndex(331),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -8494,9 +8782,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(231),
- /* return_matcher_indices */ MatcherIndicesIndex(295),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(267),
+ /* return_matcher_indices */ MatcherIndicesIndex(331),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -8505,9 +8793,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(231),
- /* return_matcher_indices */ MatcherIndicesIndex(295),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(267),
+ /* return_matcher_indices */ MatcherIndicesIndex(331),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -8516,9 +8804,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(118),
- /* parameters */ ParameterIndex(432),
- /* return_matcher_indices */ MatcherIndicesIndex(295),
+ /* templates */ TemplateIndex(130),
+ /* parameters */ ParameterIndex(468),
+ /* return_matcher_indices */ MatcherIndicesIndex(331),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8527,9 +8815,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(116),
- /* parameters */ ParameterIndex(433),
- /* return_matcher_indices */ MatcherIndicesIndex(295),
+ /* templates */ TemplateIndex(128),
+ /* parameters */ ParameterIndex(469),
+ /* return_matcher_indices */ MatcherIndicesIndex(331),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8538,9 +8826,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
+ /* templates */ TemplateIndex(146),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(301),
+ /* return_matcher_indices */ MatcherIndicesIndex(337),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -8549,9 +8837,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(134),
- /* parameters */ ParameterIndex(434),
- /* return_matcher_indices */ MatcherIndicesIndex(301),
+ /* templates */ TemplateIndex(146),
+ /* parameters */ ParameterIndex(470),
+ /* return_matcher_indices */ MatcherIndicesIndex(337),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -8560,9 +8848,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(434),
- /* return_matcher_indices */ MatcherIndicesIndex(301),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(470),
+ /* return_matcher_indices */ MatcherIndicesIndex(337),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -8571,9 +8859,9 @@
/* num_parameters */ 16,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(301),
+ /* return_matcher_indices */ MatcherIndicesIndex(337),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -8582,9 +8870,9 @@
/* num_parameters */ 16,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(301),
+ /* return_matcher_indices */ MatcherIndicesIndex(337),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -8593,9 +8881,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(235),
- /* return_matcher_indices */ MatcherIndicesIndex(301),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(271),
+ /* return_matcher_indices */ MatcherIndicesIndex(337),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -8604,9 +8892,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(235),
- /* return_matcher_indices */ MatcherIndicesIndex(301),
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(271),
+ /* return_matcher_indices */ MatcherIndicesIndex(337),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -8615,9 +8903,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(118),
- /* parameters */ ParameterIndex(435),
- /* return_matcher_indices */ MatcherIndicesIndex(301),
+ /* templates */ TemplateIndex(130),
+ /* parameters */ ParameterIndex(471),
+ /* return_matcher_indices */ MatcherIndicesIndex(337),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8626,9 +8914,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(116),
- /* parameters */ ParameterIndex(436),
- /* return_matcher_indices */ MatcherIndicesIndex(301),
+ /* templates */ TemplateIndex(128),
+ /* parameters */ ParameterIndex(472),
+ /* return_matcher_indices */ MatcherIndicesIndex(337),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8639,7 +8927,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(104),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8650,7 +8938,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(104),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8659,9 +8947,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(38),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8670,9 +8958,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(38),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8683,7 +8971,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(109),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8694,7 +8982,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(109),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8704,8 +8992,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(183),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* parameters */ ParameterIndex(203),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8714,9 +9002,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(114),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8727,7 +9015,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(44),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8738,7 +9026,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(44),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8747,9 +9035,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(19),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8758,9 +9046,9 @@
/* num_parameters */ 7,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(19),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8771,7 +9059,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(50),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8782,7 +9070,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(50),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8793,7 +9081,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(119),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8802,9 +9090,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(56),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8815,7 +9103,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8826,7 +9114,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8835,9 +9123,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8846,9 +9134,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8858,8 +9146,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(171),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* parameters */ ParameterIndex(191),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8868,9 +9156,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(94),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8879,9 +9167,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(29),
+ /* templates */ TemplateIndex(41),
/* parameters */ ParameterIndex(27),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8890,9 +9178,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(29),
+ /* templates */ TemplateIndex(41),
/* parameters */ ParameterIndex(80),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8903,7 +9191,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8914,7 +9202,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(94),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8923,9 +9211,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(110),
- /* parameters */ ParameterIndex(402),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* templates */ TemplateIndex(122),
+ /* parameters */ ParameterIndex(438),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8934,9 +9222,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(112),
- /* parameters */ ParameterIndex(402),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* templates */ TemplateIndex(124),
+ /* parameters */ ParameterIndex(438),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8947,7 +9235,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8958,7 +9246,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8967,9 +9255,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8978,9 +9266,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8990,8 +9278,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(171),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* parameters */ ParameterIndex(191),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -9000,9 +9288,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(94),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -9013,7 +9301,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -9024,7 +9312,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -9033,9 +9321,9 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -9044,9 +9332,9 @@
/* num_parameters */ 6,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -9056,8 +9344,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(171),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* parameters */ ParameterIndex(191),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -9066,1960 +9354,79 @@
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(19),
+ /* templates */ TemplateIndex(31),
/* parameters */ ParameterIndex(94),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [322] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(86),
- },
- {
- /* [323] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(86),
- },
- {
- /* [324] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(362),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(86),
- },
- {
- /* [325] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(363),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(86),
- },
- {
- /* [326] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 3,
- /* templates */ TemplateIndex(69),
- /* parameters */ ParameterIndex(366),
- /* return_matcher_indices */ MatcherIndicesIndex(105),
- /* const_eval_fn */ ConstEvalFunctionIndex(86),
- },
- {
- /* [327] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(87),
- },
- {
- /* [328] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(87),
- },
- {
- /* [329] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(362),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(87),
- },
- {
- /* [330] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(363),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(87),
- },
- {
- /* [331] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 3,
- /* templates */ TemplateIndex(69),
- /* parameters */ ParameterIndex(366),
- /* return_matcher_indices */ MatcherIndicesIndex(105),
- /* const_eval_fn */ ConstEvalFunctionIndex(87),
- },
- {
- /* [332] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(92),
- },
- {
- /* [333] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(92),
- },
- {
- /* [334] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(362),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(92),
- },
- {
- /* [335] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(363),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(92),
- },
- {
- /* [336] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(93),
- },
- {
- /* [337] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(93),
- },
- {
- /* [338] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(362),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(93),
- },
- {
- /* [339] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(363),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(93),
- },
- {
- /* [340] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(242),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
- /* const_eval_fn */ ConstEvalFunctionIndex(95),
- },
- {
- /* [341] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(62),
- /* parameters */ ParameterIndex(253),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
- /* const_eval_fn */ ConstEvalFunctionIndex(95),
- },
- {
- /* [342] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(114),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(95),
- },
- {
- /* [343] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(114),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(95),
- },
- {
- /* [344] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(242),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
- /* const_eval_fn */ ConstEvalFunctionIndex(96),
- },
- {
- /* [345] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(62),
- /* parameters */ ParameterIndex(253),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
- /* const_eval_fn */ ConstEvalFunctionIndex(96),
- },
- {
- /* [346] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(114),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(96),
- },
- {
- /* [347] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(114),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(96),
- },
- {
- /* [348] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(43),
- },
- {
- /* [349] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(244),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(43),
- },
- {
- /* [350] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(245),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(43),
- },
- {
- /* [351] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(248),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(63),
- },
- {
- /* [352] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(240),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(63),
- },
- {
- /* [353] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(96),
- /* parameters */ ParameterIndex(251),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(64),
- },
- {
- /* [354] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(200),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [355] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(407),
- /* return_matcher_indices */ MatcherIndicesIndex(200),
- /* const_eval_fn */ ConstEvalFunctionIndex(82),
- },
- {
- /* [356] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(128),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(200),
- /* const_eval_fn */ ConstEvalFunctionIndex(108),
- },
- {
- /* [357] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [358] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
- /* const_eval_fn */ ConstEvalFunctionIndex(82),
- },
- {
- /* [359] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(129),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
- /* const_eval_fn */ ConstEvalFunctionIndex(108),
- },
- {
- /* [360] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [361] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(391),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
- /* const_eval_fn */ ConstEvalFunctionIndex(82),
- },
- {
- /* [362] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(130),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
- /* const_eval_fn */ ConstEvalFunctionIndex(108),
- },
- {
- /* [363] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [364] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(382),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(82),
- },
- {
- /* [365] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(131),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(6),
- /* const_eval_fn */ ConstEvalFunctionIndex(108),
- },
- {
- /* [366] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
- /* const_eval_fn */ ConstEvalFunctionIndex(107),
- },
- {
- /* [367] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(152),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
- /* const_eval_fn */ ConstEvalFunctionIndex(82),
- },
- {
- /* [368] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(132),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
- /* const_eval_fn */ ConstEvalFunctionIndex(108),
- },
- {
- /* [369] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(0),
- },
- {
- /* [370] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(84),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(0),
- },
- {
- /* [371] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(1),
- },
- {
- /* [372] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(1),
- },
- {
- /* [373] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(2),
- },
- {
- /* [374] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(2),
- },
- {
- /* [375] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(152),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
- /* const_eval_fn */ ConstEvalFunctionIndex(3),
- },
- {
- /* [376] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(62),
- /* parameters */ ParameterIndex(253),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
- /* const_eval_fn */ ConstEvalFunctionIndex(3),
- },
- {
- /* [377] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(152),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
- /* const_eval_fn */ ConstEvalFunctionIndex(4),
- },
- {
- /* [378] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(62),
- /* parameters */ ParameterIndex(253),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
- /* const_eval_fn */ ConstEvalFunctionIndex(4),
- },
- {
- /* [379] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(89),
- /* parameters */ ParameterIndex(381),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [380] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(91),
- /* parameters */ ParameterIndex(381),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [381] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(5),
- },
- {
- /* [382] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(5),
- },
- {
- /* [383] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(6),
- },
- {
- /* [384] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(6),
- },
- {
- /* [385] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(7),
- },
- {
- /* [386] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(7),
- },
- {
- /* [387] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(8),
- },
- {
- /* [388] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(69),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(8),
- },
- {
- /* [389] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(9),
- },
- {
- /* [390] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(9),
- },
- {
- /* [391] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(11),
- },
- {
- /* [392] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(11),
- },
- {
- /* [393] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(12),
- },
- {
- /* [394] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(12),
- },
- {
- /* [395] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(13),
- },
- {
- /* [396] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(13),
- },
- {
- /* [397] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(14),
- },
- {
- /* [398] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(14),
- },
- {
- /* [399] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(87),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(15),
- },
- {
- /* [400] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(86),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(15),
- },
- {
- /* [401] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(87),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(16),
- },
- {
- /* [402] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(86),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(16),
- },
- {
- /* [403] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(87),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(17),
- },
- {
- /* [404] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(86),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(17),
- },
- {
- /* [405] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(19),
- },
- {
- /* [406] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(19),
- },
- {
- /* [407] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(21),
- },
- {
- /* [408] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(10),
- /* const_eval_fn */ ConstEvalFunctionIndex(21),
- },
- {
- /* [409] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(391),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [410] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(62),
- /* parameters */ ParameterIndex(392),
- /* return_matcher_indices */ MatcherIndicesIndex(145),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [411] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(25),
- },
- {
- /* [412] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(25),
- },
- {
- /* [413] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(26),
- },
- {
- /* [414] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(26),
- },
- {
- /* [415] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(87),
- /* parameters */ ParameterIndex(16),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(27),
- },
- {
- /* [416] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(86),
- /* parameters */ ParameterIndex(160),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(27),
- },
- {
- /* [417] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(87),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(29),
- },
- {
- /* [418] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(86),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(29),
- },
- {
- /* [419] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(87),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(30),
- },
- {
- /* [420] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(86),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(30),
- },
- {
- /* [421] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(31),
- },
- {
- /* [422] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(31),
- },
- {
- /* [423] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(32),
- },
- {
- /* [424] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(244),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(32),
- },
- {
- /* [425] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(33),
- },
- {
- /* [426] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(33),
- },
- {
- /* [427] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(191),
- /* const_eval_fn */ ConstEvalFunctionIndex(34),
- },
- {
- /* [428] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
- /* const_eval_fn */ ConstEvalFunctionIndex(34),
- },
- {
- /* [429] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(87),
- /* parameters */ ParameterIndex(15),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(35),
- },
- {
- /* [430] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(86),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(35),
- },
- {
- /* [431] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(36),
- },
- {
- /* [432] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(36),
- },
- {
- /* [433] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(65),
- /* parameters */ ParameterIndex(318),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(37),
- },
- {
- /* [434] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 3,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(320),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(37),
- },
- {
- /* [435] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(38),
- },
- {
- /* [436] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(10),
- /* const_eval_fn */ ConstEvalFunctionIndex(38),
- },
- {
- /* [437] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(39),
- },
- {
- /* [438] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(39),
- },
- {
- /* [439] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(40),
- },
- {
- /* [440] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(40),
- },
- {
- /* [441] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(41),
- },
- {
- /* [442] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(84),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(41),
- },
- {
- /* [443] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(42),
- },
- {
- /* [444] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(84),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(42),
- },
- {
- /* [445] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(193),
- /* const_eval_fn */ ConstEvalFunctionIndex(44),
- },
- {
- /* [446] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(154),
- /* const_eval_fn */ ConstEvalFunctionIndex(44),
- },
- {
- /* [447] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(55),
- },
- {
- /* [448] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(55),
- },
- {
- /* [449] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(391),
- /* return_matcher_indices */ MatcherIndicesIndex(147),
- /* const_eval_fn */ ConstEvalFunctionIndex(56),
- },
- {
- /* [450] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(62),
- /* parameters */ ParameterIndex(392),
- /* return_matcher_indices */ MatcherIndicesIndex(145),
- /* const_eval_fn */ ConstEvalFunctionIndex(56),
- },
- {
- /* [451] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(57),
- },
- {
- /* [452] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(57),
- },
- {
- /* [453] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(87),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(60),
- },
- {
- /* [454] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(86),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(60),
- },
- {
- /* [455] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(61),
- },
- {
- /* [456] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(61),
- },
- {
- /* [457] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(62),
- },
- {
- /* [458] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(69),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(62),
- },
- {
- /* [459] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(99),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(65),
- },
- {
- /* [460] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(98),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(65),
- },
- {
- /* [461] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(66),
- },
- {
- /* [462] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(66),
- },
- {
- /* [463] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(67),
- },
- {
- /* [464] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(67),
- },
- {
- /* [465] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(68),
- },
- {
- /* [466] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(244),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(68),
- },
- {
- /* [467] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(69),
- },
- {
- /* [468] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(69),
- },
- {
- /* [469] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(70),
- },
- {
- /* [470] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(70),
- },
- {
- /* [471] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(71),
- },
- {
- /* [472] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(71),
- },
- {
- /* [473] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(72),
- },
- {
- /* [474] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(72),
- },
- {
- /* [475] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(74),
- },
- {
- /* [476] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(74),
- },
- {
- /* [477] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(127),
- /* parameters */ ParameterIndex(398),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [478] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(87),
- /* parameters */ ParameterIndex(399),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [479] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(297),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [480] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(303),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [481] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(44),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [482] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(258),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [483] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(101),
- /* parameters */ ParameterIndex(344),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [484] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(100),
- /* parameters */ ParameterIndex(346),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [485] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(101),
- /* parameters */ ParameterIndex(344),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [486] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(100),
- /* parameters */ ParameterIndex(346),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [487] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(101),
- /* parameters */ ParameterIndex(348),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [488] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(100),
- /* parameters */ ParameterIndex(350),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [489] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(101),
- /* parameters */ ParameterIndex(352),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [490] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(100),
- /* parameters */ ParameterIndex(354),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [491] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(87),
- /* parameters */ ParameterIndex(344),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [492] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(86),
- /* parameters */ ParameterIndex(346),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [493] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(101),
- /* parameters */ ParameterIndex(356),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [494] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(100),
- /* parameters */ ParameterIndex(358),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [495] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(101),
- /* parameters */ ParameterIndex(356),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [496] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(100),
- /* parameters */ ParameterIndex(358),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [497] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 4,
/* num_explicit_templates */ 1,
/* num_templates */ 5,
/* templates */ TemplateIndex(0),
- /* parameters */ ParameterIndex(215),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* parameters */ ParameterIndex(235),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [498] */
+ /* [323] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 4,
/* num_explicit_templates */ 1,
/* num_templates */ 6,
/* templates */ TemplateIndex(0),
- /* parameters */ ParameterIndex(219),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* parameters */ ParameterIndex(239),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [499] */
+ /* [324] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 5,
+ /* templates */ TemplateIndex(6),
+ /* parameters */ ParameterIndex(243),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [325] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 5,
+ /* templates */ TemplateIndex(12),
+ /* parameters */ ParameterIndex(247),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [326] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 6,
+ /* templates */ TemplateIndex(6),
+ /* parameters */ ParameterIndex(251),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [327] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 1,
+ /* num_templates */ 6,
+ /* templates */ TemplateIndex(12),
+ /* parameters */ ParameterIndex(255),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [328] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
@@ -11030,7 +9437,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [500] */
+ /* [329] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
@@ -11041,158 +9448,2039 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
+ /* [330] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 5,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 4,
+ /* templates */ TemplateIndex(7),
+ /* parameters */ ParameterIndex(159),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [331] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 5,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 4,
+ /* templates */ TemplateIndex(13),
+ /* parameters */ ParameterIndex(164),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [332] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 5,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 5,
+ /* templates */ TemplateIndex(7),
+ /* parameters */ ParameterIndex(169),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [333] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 5,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 5,
+ /* templates */ TemplateIndex(13),
+ /* parameters */ ParameterIndex(174),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [334] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(86),
+ },
+ {
+ /* [335] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(86),
+ },
+ {
+ /* [336] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(398),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(86),
+ },
+ {
+ /* [337] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(399),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(86),
+ },
+ {
+ /* [338] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 3,
+ /* templates */ TemplateIndex(81),
+ /* parameters */ ParameterIndex(402),
+ /* return_matcher_indices */ MatcherIndicesIndex(157),
+ /* const_eval_fn */ ConstEvalFunctionIndex(86),
+ },
+ {
+ /* [339] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(87),
+ },
+ {
+ /* [340] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(87),
+ },
+ {
+ /* [341] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(398),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(87),
+ },
+ {
+ /* [342] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(399),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(87),
+ },
+ {
+ /* [343] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 3,
+ /* templates */ TemplateIndex(81),
+ /* parameters */ ParameterIndex(402),
+ /* return_matcher_indices */ MatcherIndicesIndex(157),
+ /* const_eval_fn */ ConstEvalFunctionIndex(87),
+ },
+ {
+ /* [344] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(92),
+ },
+ {
+ /* [345] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(92),
+ },
+ {
+ /* [346] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(398),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(92),
+ },
+ {
+ /* [347] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(399),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(92),
+ },
+ {
+ /* [348] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(93),
+ },
+ {
+ /* [349] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(93),
+ },
+ {
+ /* [350] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(398),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(93),
+ },
+ {
+ /* [351] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(399),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(93),
+ },
+ {
+ /* [352] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(278),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* const_eval_fn */ ConstEvalFunctionIndex(95),
+ },
+ {
+ /* [353] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(74),
+ /* parameters */ ParameterIndex(289),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(95),
+ },
+ {
+ /* [354] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(126),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(95),
+ },
+ {
+ /* [355] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(126),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(95),
+ },
+ {
+ /* [356] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(278),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* const_eval_fn */ ConstEvalFunctionIndex(96),
+ },
+ {
+ /* [357] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(74),
+ /* parameters */ ParameterIndex(289),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(96),
+ },
+ {
+ /* [358] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(126),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(96),
+ },
+ {
+ /* [359] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(126),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(96),
+ },
+ {
+ /* [360] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(43),
+ },
+ {
+ /* [361] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(280),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(43),
+ },
+ {
+ /* [362] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(281),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(43),
+ },
+ {
+ /* [363] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(284),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(63),
+ },
+ {
+ /* [364] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(276),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(63),
+ },
+ {
+ /* [365] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(108),
+ /* parameters */ ParameterIndex(287),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(64),
+ },
+ {
+ /* [366] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [367] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(443),
+ /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* const_eval_fn */ ConstEvalFunctionIndex(82),
+ },
+ {
+ /* [368] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(140),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* const_eval_fn */ ConstEvalFunctionIndex(108),
+ },
+ {
+ /* [369] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [370] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(17),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
+ /* const_eval_fn */ ConstEvalFunctionIndex(82),
+ },
+ {
+ /* [371] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(141),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
+ /* const_eval_fn */ ConstEvalFunctionIndex(108),
+ },
+ {
+ /* [372] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [373] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(427),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
+ /* const_eval_fn */ ConstEvalFunctionIndex(82),
+ },
+ {
+ /* [374] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(142),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
+ /* const_eval_fn */ ConstEvalFunctionIndex(108),
+ },
+ {
+ /* [375] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [376] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(418),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(82),
+ },
+ {
+ /* [377] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(143),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(108),
+ },
+ {
+ /* [378] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* const_eval_fn */ ConstEvalFunctionIndex(107),
+ },
+ {
+ /* [379] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(152),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* const_eval_fn */ ConstEvalFunctionIndex(82),
+ },
+ {
+ /* [380] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(144),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* const_eval_fn */ ConstEvalFunctionIndex(108),
+ },
+ {
+ /* [381] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(0),
+ },
+ {
+ /* [382] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(96),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(0),
+ },
+ {
+ /* [383] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(1),
+ },
+ {
+ /* [384] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(1),
+ },
+ {
+ /* [385] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(2),
+ },
+ {
+ /* [386] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(2),
+ },
+ {
+ /* [387] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(152),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* const_eval_fn */ ConstEvalFunctionIndex(3),
+ },
+ {
+ /* [388] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(74),
+ /* parameters */ ParameterIndex(289),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* const_eval_fn */ ConstEvalFunctionIndex(3),
+ },
+ {
+ /* [389] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(152),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* const_eval_fn */ ConstEvalFunctionIndex(4),
+ },
+ {
+ /* [390] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(74),
+ /* parameters */ ParameterIndex(289),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* const_eval_fn */ ConstEvalFunctionIndex(4),
+ },
+ {
+ /* [391] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(101),
+ /* parameters */ ParameterIndex(417),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [392] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(103),
+ /* parameters */ ParameterIndex(417),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [393] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(5),
+ },
+ {
+ /* [394] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(5),
+ },
+ {
+ /* [395] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(6),
+ },
+ {
+ /* [396] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(6),
+ },
+ {
+ /* [397] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(7),
+ },
+ {
+ /* [398] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(7),
+ },
+ {
+ /* [399] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(8),
+ },
+ {
+ /* [400] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(81),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(8),
+ },
+ {
+ /* [401] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(9),
+ },
+ {
+ /* [402] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(9),
+ },
+ {
+ /* [403] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(11),
+ },
+ {
+ /* [404] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(11),
+ },
+ {
+ /* [405] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(12),
+ },
+ {
+ /* [406] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(12),
+ },
+ {
+ /* [407] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(13),
+ },
+ {
+ /* [408] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(13),
+ },
+ {
+ /* [409] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(14),
+ },
+ {
+ /* [410] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(14),
+ },
+ {
+ /* [411] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(99),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(15),
+ },
+ {
+ /* [412] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(98),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(15),
+ },
+ {
+ /* [413] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(99),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(16),
+ },
+ {
+ /* [414] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(98),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(16),
+ },
+ {
+ /* [415] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(99),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(17),
+ },
+ {
+ /* [416] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(98),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(17),
+ },
+ {
+ /* [417] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(19),
+ },
+ {
+ /* [418] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(19),
+ },
+ {
+ /* [419] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(21),
+ },
+ {
+ /* [420] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
+ /* const_eval_fn */ ConstEvalFunctionIndex(21),
+ },
+ {
+ /* [421] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(427),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [422] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(74),
+ /* parameters */ ParameterIndex(428),
+ /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [423] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(25),
+ },
+ {
+ /* [424] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(25),
+ },
+ {
+ /* [425] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(26),
+ },
+ {
+ /* [426] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(26),
+ },
+ {
+ /* [427] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(99),
+ /* parameters */ ParameterIndex(16),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(27),
+ },
+ {
+ /* [428] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(98),
+ /* parameters */ ParameterIndex(180),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(27),
+ },
+ {
+ /* [429] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(99),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(29),
+ },
+ {
+ /* [430] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(98),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(29),
+ },
+ {
+ /* [431] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(99),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(30),
+ },
+ {
+ /* [432] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(98),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(30),
+ },
+ {
+ /* [433] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(31),
+ },
+ {
+ /* [434] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(31),
+ },
+ {
+ /* [435] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(32),
+ },
+ {
+ /* [436] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(280),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(32),
+ },
+ {
+ /* [437] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(33),
+ },
+ {
+ /* [438] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(33),
+ },
+ {
+ /* [439] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(241),
+ /* const_eval_fn */ ConstEvalFunctionIndex(34),
+ },
+ {
+ /* [440] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(200),
+ /* const_eval_fn */ ConstEvalFunctionIndex(34),
+ },
+ {
+ /* [441] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(99),
+ /* parameters */ ParameterIndex(15),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(35),
+ },
+ {
+ /* [442] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(98),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(35),
+ },
+ {
+ /* [443] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(36),
+ },
+ {
+ /* [444] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(36),
+ },
+ {
+ /* [445] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(77),
+ /* parameters */ ParameterIndex(354),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(37),
+ },
+ {
+ /* [446] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 3,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(356),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(37),
+ },
+ {
+ /* [447] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(38),
+ },
+ {
+ /* [448] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
+ /* const_eval_fn */ ConstEvalFunctionIndex(38),
+ },
+ {
+ /* [449] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(39),
+ },
+ {
+ /* [450] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(39),
+ },
+ {
+ /* [451] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(40),
+ },
+ {
+ /* [452] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(40),
+ },
+ {
+ /* [453] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(41),
+ },
+ {
+ /* [454] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(96),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(41),
+ },
+ {
+ /* [455] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(42),
+ },
+ {
+ /* [456] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(96),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(42),
+ },
+ {
+ /* [457] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(243),
+ /* const_eval_fn */ ConstEvalFunctionIndex(44),
+ },
+ {
+ /* [458] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(206),
+ /* const_eval_fn */ ConstEvalFunctionIndex(44),
+ },
+ {
+ /* [459] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(55),
+ },
+ {
+ /* [460] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(55),
+ },
+ {
+ /* [461] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(427),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
+ /* const_eval_fn */ ConstEvalFunctionIndex(56),
+ },
+ {
+ /* [462] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(74),
+ /* parameters */ ParameterIndex(428),
+ /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* const_eval_fn */ ConstEvalFunctionIndex(56),
+ },
+ {
+ /* [463] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(57),
+ },
+ {
+ /* [464] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(57),
+ },
+ {
+ /* [465] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(99),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(60),
+ },
+ {
+ /* [466] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(98),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(60),
+ },
+ {
+ /* [467] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(61),
+ },
+ {
+ /* [468] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(61),
+ },
+ {
+ /* [469] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(62),
+ },
+ {
+ /* [470] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(81),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(62),
+ },
+ {
+ /* [471] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(111),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(65),
+ },
+ {
+ /* [472] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(110),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(65),
+ },
+ {
+ /* [473] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(66),
+ },
+ {
+ /* [474] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(66),
+ },
+ {
+ /* [475] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(67),
+ },
+ {
+ /* [476] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(67),
+ },
+ {
+ /* [477] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(68),
+ },
+ {
+ /* [478] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(280),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(68),
+ },
+ {
+ /* [479] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(69),
+ },
+ {
+ /* [480] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(69),
+ },
+ {
+ /* [481] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(70),
+ },
+ {
+ /* [482] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(70),
+ },
+ {
+ /* [483] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(71),
+ },
+ {
+ /* [484] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(71),
+ },
+ {
+ /* [485] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(72),
+ },
+ {
+ /* [486] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(72),
+ },
+ {
+ /* [487] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(74),
+ },
+ {
+ /* [488] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(74),
+ },
+ {
+ /* [489] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(139),
+ /* parameters */ ParameterIndex(434),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [490] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(99),
+ /* parameters */ ParameterIndex(435),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [491] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(333),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [492] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(339),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [493] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(44),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [494] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(294),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [495] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(113),
+ /* parameters */ ParameterIndex(380),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [496] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(112),
+ /* parameters */ ParameterIndex(382),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [497] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(113),
+ /* parameters */ ParameterIndex(380),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [498] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(112),
+ /* parameters */ ParameterIndex(382),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [499] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(113),
+ /* parameters */ ParameterIndex(384),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [500] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(112),
+ /* parameters */ ParameterIndex(386),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
/* [501] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(113),
+ /* parameters */ ParameterIndex(388),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [502] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(112),
+ /* parameters */ ParameterIndex(390),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [503] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(99),
+ /* parameters */ ParameterIndex(380),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [504] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(98),
+ /* parameters */ ParameterIndex(382),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [505] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(113),
+ /* parameters */ ParameterIndex(392),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [506] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(112),
+ /* parameters */ ParameterIndex(394),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [507] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(113),
+ /* parameters */ ParameterIndex(392),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [508] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(112),
+ /* parameters */ ParameterIndex(394),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [509] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(152),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
/* const_eval_fn */ ConstEvalFunctionIndex(83),
},
{
- /* [502] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(62),
- /* parameters */ ParameterIndex(253),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
- /* const_eval_fn */ ConstEvalFunctionIndex(83),
- },
- {
- /* [503] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(114),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(84),
- },
- {
- /* [504] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(114),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(84),
- },
- {
- /* [505] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(99),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(85),
- },
- {
- /* [506] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(99),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(85),
- },
- {
- /* [507] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(114),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(94),
- },
- {
- /* [508] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(114),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(94),
- },
- {
- /* [509] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
/* [510] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(184),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(74),
+ /* parameters */ ParameterIndex(289),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* const_eval_fn */ ConstEvalFunctionIndex(83),
},
{
/* [511] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
+ /* templates */ TemplateIndex(126),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
- /* const_eval_fn */ ConstEvalFunctionIndex(100),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(84),
},
{
/* [512] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(97),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(184),
- /* const_eval_fn */ ConstEvalFunctionIndex(100),
+ /* templates */ TemplateIndex(126),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(84),
},
{
/* [513] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(85),
+ /* templates */ TemplateIndex(111),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
- /* const_eval_fn */ ConstEvalFunctionIndex(101),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(85),
},
{
/* [514] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(184),
- /* const_eval_fn */ ConstEvalFunctionIndex(101),
+ /* templates */ TemplateIndex(111),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(85),
},
{
/* [515] */
@@ -11200,10 +11488,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(85),
+ /* templates */ TemplateIndex(126),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(94),
},
{
/* [516] */
@@ -11211,10 +11499,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(184),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
+ /* templates */ TemplateIndex(126),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(94),
},
{
/* [517] */
@@ -11222,10 +11510,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(85),
+ /* templates */ TemplateIndex(109),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
},
{
/* [518] */
@@ -11233,10 +11521,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(184),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(236),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
},
{
/* [519] */
@@ -11244,10 +11532,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(85),
+ /* templates */ TemplateIndex(109),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* const_eval_fn */ ConstEvalFunctionIndex(100),
},
{
/* [520] */
@@ -11255,10 +11543,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(85),
- /* parameters */ ParameterIndex(239),
- /* return_matcher_indices */ MatcherIndicesIndex(184),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
+ /* templates */ TemplateIndex(109),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(236),
+ /* const_eval_fn */ ConstEvalFunctionIndex(100),
},
{
/* [521] */
@@ -11266,10 +11554,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(114),
- /* parameters */ ParameterIndex(16),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(105),
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* const_eval_fn */ ConstEvalFunctionIndex(101),
},
{
/* [522] */
@@ -11277,10 +11565,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(114),
- /* parameters */ ParameterIndex(364),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(105),
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(236),
+ /* const_eval_fn */ ConstEvalFunctionIndex(101),
},
{
/* [523] */
@@ -11288,10 +11576,10 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(114),
- /* parameters */ ParameterIndex(16),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
- /* const_eval_fn */ ConstEvalFunctionIndex(106),
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* const_eval_fn */ ConstEvalFunctionIndex(102),
},
{
/* [524] */
@@ -11299,175 +11587,175 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(114),
- /* parameters */ ParameterIndex(364),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
- /* const_eval_fn */ ConstEvalFunctionIndex(106),
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(236),
+ /* const_eval_fn */ ConstEvalFunctionIndex(102),
},
{
/* [525] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
- /* parameters */ ParameterIndex(231),
- /* return_matcher_indices */ MatcherIndicesIndex(12),
- /* const_eval_fn */ ConstEvalFunctionIndex(18),
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* const_eval_fn */ ConstEvalFunctionIndex(103),
},
{
/* [526] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(390),
- /* return_matcher_indices */ MatcherIndicesIndex(10),
- /* const_eval_fn */ ConstEvalFunctionIndex(20),
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(236),
+ /* const_eval_fn */ ConstEvalFunctionIndex(103),
},
{
/* [527] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(84),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(10),
- /* const_eval_fn */ ConstEvalFunctionIndex(22),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(1),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* const_eval_fn */ ConstEvalFunctionIndex(104),
},
{
/* [528] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(200),
- /* const_eval_fn */ ConstEvalFunctionIndex(23),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(97),
+ /* parameters */ ParameterIndex(275),
+ /* return_matcher_indices */ MatcherIndicesIndex(236),
+ /* const_eval_fn */ ConstEvalFunctionIndex(104),
},
{
/* [529] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
- /* const_eval_fn */ ConstEvalFunctionIndex(24),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(126),
+ /* parameters */ ParameterIndex(16),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(105),
},
{
/* [530] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(244),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(28),
+ /* templates */ TemplateIndex(126),
+ /* parameters */ ParameterIndex(400),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(105),
},
{
/* [531] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(45),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(126),
+ /* parameters */ ParameterIndex(16),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(106),
},
{
/* [532] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(393),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
- /* const_eval_fn */ ConstEvalFunctionIndex(46),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(126),
+ /* parameters */ ParameterIndex(400),
+ /* return_matcher_indices */ MatcherIndicesIndex(179),
+ /* const_eval_fn */ ConstEvalFunctionIndex(106),
},
{
/* [533] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(393),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
- /* const_eval_fn */ ConstEvalFunctionIndex(47),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(69),
+ /* parameters */ ParameterIndex(267),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
+ /* const_eval_fn */ ConstEvalFunctionIndex(18),
},
{
/* [534] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(393),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
- /* const_eval_fn */ ConstEvalFunctionIndex(48),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(426),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
+ /* const_eval_fn */ ConstEvalFunctionIndex(20),
},
{
/* [535] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(394),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
- /* const_eval_fn */ ConstEvalFunctionIndex(49),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(96),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(20),
+ /* const_eval_fn */ ConstEvalFunctionIndex(22),
},
{
/* [536] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(394),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
- /* const_eval_fn */ ConstEvalFunctionIndex(50),
+ /* parameters */ ParameterIndex(17),
+ /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* const_eval_fn */ ConstEvalFunctionIndex(23),
},
{
/* [537] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(395),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
- /* const_eval_fn */ ConstEvalFunctionIndex(51),
+ /* parameters */ ParameterIndex(17),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
+ /* const_eval_fn */ ConstEvalFunctionIndex(24),
},
{
/* [538] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(396),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
- /* const_eval_fn */ ConstEvalFunctionIndex(52),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(280),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(28),
},
{
/* [539] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(395),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
- /* const_eval_fn */ ConstEvalFunctionIndex(53),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(45),
},
{
/* [540] */
@@ -11476,34 +11764,122 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(396),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
- /* const_eval_fn */ ConstEvalFunctionIndex(54),
+ /* parameters */ ParameterIndex(429),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
+ /* const_eval_fn */ ConstEvalFunctionIndex(46),
},
{
/* [541] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(159),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(58),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(429),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
+ /* const_eval_fn */ ConstEvalFunctionIndex(47),
},
{
/* [542] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(64),
- /* parameters */ ParameterIndex(245),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
- /* const_eval_fn */ ConstEvalFunctionIndex(59),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(429),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
+ /* const_eval_fn */ ConstEvalFunctionIndex(48),
},
{
/* [543] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(430),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
+ /* const_eval_fn */ ConstEvalFunctionIndex(49),
+ },
+ {
+ /* [544] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(430),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
+ /* const_eval_fn */ ConstEvalFunctionIndex(50),
+ },
+ {
+ /* [545] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(431),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
+ /* const_eval_fn */ ConstEvalFunctionIndex(51),
+ },
+ {
+ /* [546] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(432),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
+ /* const_eval_fn */ ConstEvalFunctionIndex(52),
+ },
+ {
+ /* [547] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(431),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
+ /* const_eval_fn */ ConstEvalFunctionIndex(53),
+ },
+ {
+ /* [548] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(432),
+ /* return_matcher_indices */ MatcherIndicesIndex(17),
+ /* const_eval_fn */ ConstEvalFunctionIndex(54),
+ },
+ {
+ /* [549] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(58),
+ },
+ {
+ /* [550] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(76),
+ /* parameters */ ParameterIndex(281),
+ /* return_matcher_indices */ MatcherIndicesIndex(173),
+ /* const_eval_fn */ ConstEvalFunctionIndex(59),
+ },
+ {
+ /* [551] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 0,
/* num_explicit_templates */ 0,
@@ -11514,256 +11890,256 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [544] */
+ /* [552] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(67),
- /* parameters */ ParameterIndex(397),
- /* return_matcher_indices */ MatcherIndicesIndex(85),
+ /* templates */ TemplateIndex(79),
+ /* parameters */ ParameterIndex(433),
+ /* return_matcher_indices */ MatcherIndicesIndex(137),
/* const_eval_fn */ ConstEvalFunctionIndex(73),
},
{
- /* [545] */
+ /* [553] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(195),
+ /* return_matcher_indices */ MatcherIndicesIndex(66),
/* const_eval_fn */ ConstEvalFunctionIndex(75),
},
{
- /* [546] */
+ /* [554] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(195),
+ /* return_matcher_indices */ MatcherIndicesIndex(66),
/* const_eval_fn */ ConstEvalFunctionIndex(76),
},
{
- /* [547] */
+ /* [555] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(195),
+ /* return_matcher_indices */ MatcherIndicesIndex(66),
/* const_eval_fn */ ConstEvalFunctionIndex(77),
},
{
- /* [548] */
+ /* [556] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(78),
},
{
- /* [549] */
+ /* [557] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(245),
/* const_eval_fn */ ConstEvalFunctionIndex(79),
},
{
- /* [550] */
+ /* [558] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(199),
+ /* return_matcher_indices */ MatcherIndicesIndex(247),
/* const_eval_fn */ ConstEvalFunctionIndex(80),
},
{
- /* [551] */
+ /* [559] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(201),
+ /* return_matcher_indices */ MatcherIndicesIndex(249),
/* const_eval_fn */ ConstEvalFunctionIndex(81),
},
{
- /* [552] */
+ /* [560] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(29),
- /* parameters */ ParameterIndex(404),
- /* return_matcher_indices */ MatcherIndicesIndex(219),
+ /* templates */ TemplateIndex(41),
+ /* parameters */ ParameterIndex(440),
+ /* return_matcher_indices */ MatcherIndicesIndex(265),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [553] */
+ /* [561] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(87),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(0),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [554] */
+ /* [562] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(87),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(0),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [555] */
+ /* [563] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(87),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(0),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [556] */
+ /* [564] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(87),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(0),
- /* return_matcher_indices */ MatcherIndicesIndex(245),
+ /* return_matcher_indices */ MatcherIndicesIndex(283),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [557] */
+ /* [565] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(152),
- /* return_matcher_indices */ MatcherIndicesIndex(201),
+ /* return_matcher_indices */ MatcherIndicesIndex(249),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [558] */
+ /* [566] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 0,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [559] */
+ /* [567] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(152),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [560] */
+ /* [568] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 5,
- /* templates */ TemplateIndex(6),
- /* parameters */ ParameterIndex(360),
- /* return_matcher_indices */ MatcherIndicesIndex(51),
+ /* templates */ TemplateIndex(18),
+ /* parameters */ ParameterIndex(396),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [561] */
+ /* [569] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 5,
- /* templates */ TemplateIndex(11),
- /* parameters */ ParameterIndex(306),
- /* return_matcher_indices */ MatcherIndicesIndex(66),
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(342),
+ /* return_matcher_indices */ MatcherIndicesIndex(118),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [562] */
+ /* [570] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(79),
+ /* templates */ TemplateIndex(91),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(13),
+ /* return_matcher_indices */ MatcherIndicesIndex(27),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
- /* [563] */
+ /* [571] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(78),
- /* parameters */ ParameterIndex(405),
- /* return_matcher_indices */ MatcherIndicesIndex(97),
+ /* templates */ TemplateIndex(90),
+ /* parameters */ ParameterIndex(441),
+ /* return_matcher_indices */ MatcherIndicesIndex(149),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [564] */
+ /* [572] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(78),
- /* parameters */ ParameterIndex(406),
- /* return_matcher_indices */ MatcherIndicesIndex(101),
+ /* templates */ TemplateIndex(90),
+ /* parameters */ ParameterIndex(442),
+ /* return_matcher_indices */ MatcherIndicesIndex(153),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [565] */
+ /* [573] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(242),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
+ /* parameters */ ParameterIndex(278),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
/* const_eval_fn */ ConstEvalFunctionIndex(97),
},
{
- /* [566] */
+ /* [574] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(242),
- /* return_matcher_indices */ MatcherIndicesIndex(57),
+ /* parameters */ ParameterIndex(278),
+ /* return_matcher_indices */ MatcherIndicesIndex(109),
/* const_eval_fn */ ConstEvalFunctionIndex(98),
},
};
@@ -11777,77 +12153,77 @@
/* fn abs[T : fia_fiu32_f16](T) -> T */
/* fn abs[N : num, T : fia_fiu32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(369),
+ /* overloads */ OverloadIndex(381),
},
{
/* [1] */
/* fn acos[T : fa_f32_f16](@test_value(0.96891242171) T) -> T */
/* fn acos[N : num, T : fa_f32_f16](@test_value(0.96891242171) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(371),
+ /* overloads */ OverloadIndex(383),
},
{
/* [2] */
/* fn acosh[T : fa_f32_f16](@test_value(1.5430806348) T) -> T */
/* fn acosh[N : num, T : fa_f32_f16](@test_value(1.5430806348) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(373),
+ /* overloads */ OverloadIndex(385),
},
{
/* [3] */
/* fn all(bool) -> bool */
/* fn all[N : num](vec<N, bool>) -> bool */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(375),
+ /* overloads */ OverloadIndex(387),
},
{
/* [4] */
/* fn any(bool) -> bool */
/* fn any[N : num](vec<N, bool>) -> bool */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(377),
+ /* overloads */ OverloadIndex(389),
},
{
/* [5] */
/* fn arrayLength[T, R : read](ptr<storage, runtime_array<T>, R>) -> u32 */
/* fn arrayLength[T, W : writable](ptr<storage, runtime_array<T>, W>) -> u32 */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(379),
+ /* overloads */ OverloadIndex(391),
},
{
/* [6] */
/* fn asin[T : fa_f32_f16](@test_value(0.479425538604) T) -> T */
/* fn asin[N : num, T : fa_f32_f16](@test_value(0.479425538604) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(381),
+ /* overloads */ OverloadIndex(393),
},
{
/* [7] */
/* fn asinh[T : fa_f32_f16](T) -> T */
/* fn asinh[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(383),
+ /* overloads */ OverloadIndex(395),
},
{
/* [8] */
/* fn atan[T : fa_f32_f16](T) -> T */
/* fn atan[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(385),
+ /* overloads */ OverloadIndex(397),
},
{
/* [9] */
/* fn atan2[T : fa_f32_f16](T, T) -> T */
/* fn atan2[T : fa_f32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(387),
+ /* overloads */ OverloadIndex(399),
},
{
/* [10] */
/* fn atanh[T : fa_f32_f16](@test_value(0.5) T) -> T */
/* fn atanh[N : num, T : fa_f32_f16](@test_value(0.5) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(389),
+ /* overloads */ OverloadIndex(401),
},
{
/* [11] */
@@ -11869,281 +12245,281 @@
/* fn ceil[T : fa_f32_f16](@test_value(1.5) T) -> T */
/* fn ceil[N : num, T : fa_f32_f16](@test_value(1.5) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(391),
+ /* overloads */ OverloadIndex(403),
},
{
/* [13] */
/* fn clamp[T : fia_fiu32_f16](T, T, T) -> T */
/* fn clamp[T : fia_fiu32_f16, N : num](vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(393),
+ /* overloads */ OverloadIndex(405),
},
{
/* [14] */
/* fn cos[T : fa_f32_f16](@test_value(0) T) -> T */
/* fn cos[N : num, T : fa_f32_f16](@test_value(0) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(395),
+ /* overloads */ OverloadIndex(407),
},
{
/* [15] */
/* fn cosh[T : fa_f32_f16](@test_value(0) T) -> T */
/* fn cosh[N : num, T : fa_f32_f16](@test_value(0) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(397),
+ /* overloads */ OverloadIndex(409),
},
{
/* [16] */
/* fn countLeadingZeros[T : iu32](T) -> T */
/* fn countLeadingZeros[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(399),
+ /* overloads */ OverloadIndex(411),
},
{
/* [17] */
/* fn countOneBits[T : iu32](T) -> T */
/* fn countOneBits[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(401),
+ /* overloads */ OverloadIndex(413),
},
{
/* [18] */
/* fn countTrailingZeros[T : iu32](T) -> T */
/* fn countTrailingZeros[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(403),
+ /* overloads */ OverloadIndex(415),
},
{
/* [19] */
/* fn cross[T : fa_f32_f16](vec3<T>, vec3<T>) -> vec3<T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(525),
+ /* overloads */ OverloadIndex(533),
},
{
/* [20] */
/* fn degrees[T : fa_f32_f16](T) -> T */
/* fn degrees[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(405),
+ /* overloads */ OverloadIndex(417),
},
{
/* [21] */
/* fn determinant[N : num, T : fa_f32_f16](mat<N, N, T>) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(526),
+ /* overloads */ OverloadIndex(534),
},
{
/* [22] */
/* fn distance[T : fa_f32_f16](T, T) -> T */
/* fn distance[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>) -> T */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(407),
+ /* overloads */ OverloadIndex(419),
},
{
/* [23] */
/* fn dot[N : num, T : fia_fiu32_f16](vec<N, T>, vec<N, T>) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(527),
+ /* overloads */ OverloadIndex(535),
},
{
/* [24] */
/* fn dot4I8Packed(u32, u32) -> i32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(528),
+ /* overloads */ OverloadIndex(536),
},
{
/* [25] */
/* fn dot4U8Packed(u32, u32) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(529),
+ /* overloads */ OverloadIndex(537),
},
{
/* [26] */
/* fn dpdx(f32) -> f32 */
/* fn dpdx[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(409),
+ /* overloads */ OverloadIndex(421),
},
{
/* [27] */
/* fn dpdxCoarse(f32) -> f32 */
/* fn dpdxCoarse[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(409),
+ /* overloads */ OverloadIndex(421),
},
{
/* [28] */
/* fn dpdxFine(f32) -> f32 */
/* fn dpdxFine[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(409),
+ /* overloads */ OverloadIndex(421),
},
{
/* [29] */
/* fn dpdy(f32) -> f32 */
/* fn dpdy[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(409),
+ /* overloads */ OverloadIndex(421),
},
{
/* [30] */
/* fn dpdyCoarse(f32) -> f32 */
/* fn dpdyCoarse[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(409),
+ /* overloads */ OverloadIndex(421),
},
{
/* [31] */
/* fn dpdyFine(f32) -> f32 */
/* fn dpdyFine[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(409),
+ /* overloads */ OverloadIndex(421),
},
{
/* [32] */
/* fn exp[T : fa_f32_f16](T) -> T */
/* fn exp[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(411),
+ /* overloads */ OverloadIndex(423),
},
{
/* [33] */
/* fn exp2[T : fa_f32_f16](T) -> T */
/* fn exp2[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(413),
+ /* overloads */ OverloadIndex(425),
},
{
/* [34] */
/* fn extractBits[T : iu32](T, u32, u32) -> T */
/* fn extractBits[N : num, T : iu32](vec<N, T>, u32, u32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(415),
+ /* overloads */ OverloadIndex(427),
},
{
/* [35] */
/* fn faceForward[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(530),
+ /* overloads */ OverloadIndex(538),
},
{
/* [36] */
/* fn firstLeadingBit[T : iu32](T) -> T */
/* fn firstLeadingBit[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(417),
+ /* overloads */ OverloadIndex(429),
},
{
/* [37] */
/* fn firstTrailingBit[T : iu32](T) -> T */
/* fn firstTrailingBit[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(419),
+ /* overloads */ OverloadIndex(431),
},
{
/* [38] */
/* fn floor[T : fa_f32_f16](@test_value(1.5) T) -> T */
/* fn floor[N : num, T : fa_f32_f16](@test_value(1.5) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(421),
+ /* overloads */ OverloadIndex(433),
},
{
/* [39] */
/* fn fma[T : fa_f32_f16](T, T, T) -> T */
/* fn fma[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(423),
+ /* overloads */ OverloadIndex(435),
},
{
/* [40] */
/* fn fract[T : fa_f32_f16](@test_value(1.25) T) -> T */
/* fn fract[N : num, T : fa_f32_f16](@test_value(1.25) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(425),
+ /* overloads */ OverloadIndex(437),
},
{
/* [41] */
/* fn frexp[T : fa_f32_f16](T) -> __frexp_result<T> */
/* fn frexp[N : num, T : fa_f32_f16](vec<N, T>) -> __frexp_result_vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(427),
+ /* overloads */ OverloadIndex(439),
},
{
/* [42] */
/* fn fwidth(f32) -> f32 */
/* fn fwidth[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(409),
+ /* overloads */ OverloadIndex(421),
},
{
/* [43] */
/* fn fwidthCoarse(f32) -> f32 */
/* fn fwidthCoarse[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(409),
+ /* overloads */ OverloadIndex(421),
},
{
/* [44] */
/* fn fwidthFine(f32) -> f32 */
/* fn fwidthFine[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(409),
+ /* overloads */ OverloadIndex(421),
},
{
/* [45] */
/* fn insertBits[T : iu32](T, T, u32, u32) -> T */
/* fn insertBits[N : num, T : iu32](vec<N, T>, vec<N, T>, u32, u32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(429),
+ /* overloads */ OverloadIndex(441),
},
{
/* [46] */
/* fn inverseSqrt[T : fa_f32_f16](T) -> T */
/* fn inverseSqrt[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(431),
+ /* overloads */ OverloadIndex(443),
},
{
/* [47] */
/* fn ldexp[T : fa_f32_f16, U : ia_i32](T, U) -> T */
/* fn ldexp[N : num, T : fa_f32_f16, U : ia_i32](vec<N, T>, vec<N, U>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(433),
+ /* overloads */ OverloadIndex(445),
},
{
/* [48] */
/* fn length[T : fa_f32_f16](@test_value(0) T) -> T */
/* fn length[N : num, T : fa_f32_f16](@test_value(0) vec<N, T>) -> T */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(435),
+ /* overloads */ OverloadIndex(447),
},
{
/* [49] */
/* fn log[T : fa_f32_f16](T) -> T */
/* fn log[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(437),
+ /* overloads */ OverloadIndex(449),
},
{
/* [50] */
/* fn log2[T : fa_f32_f16](T) -> T */
/* fn log2[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(439),
+ /* overloads */ OverloadIndex(451),
},
{
/* [51] */
/* fn max[T : fia_fiu32_f16](T, T) -> T */
/* fn max[N : num, T : fia_fiu32_f16](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(441),
+ /* overloads */ OverloadIndex(453),
},
{
/* [52] */
/* fn min[T : fia_fiu32_f16](T, T) -> T */
/* fn min[N : num, T : fia_fiu32_f16](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(443),
+ /* overloads */ OverloadIndex(455),
},
{
/* [53] */
@@ -12151,128 +12527,128 @@
/* fn mix[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
/* fn mix[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>, T) -> vec<N, T> */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(348),
+ /* overloads */ OverloadIndex(360),
},
{
/* [54] */
/* fn modf[T : fa_f32_f16](@test_value(-1.5) T) -> __modf_result<T> */
/* fn modf[N : num, T : fa_f32_f16](@test_value(-1.5) vec<N, T>) -> __modf_result_vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(445),
+ /* overloads */ OverloadIndex(457),
},
{
/* [55] */
/* fn normalize[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(531),
+ /* overloads */ OverloadIndex(539),
},
{
/* [56] */
/* fn pack2x16float(vec2<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(532),
+ /* overloads */ OverloadIndex(540),
},
{
/* [57] */
/* fn pack2x16snorm(vec2<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(533),
+ /* overloads */ OverloadIndex(541),
},
{
/* [58] */
/* fn pack2x16unorm(vec2<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(534),
+ /* overloads */ OverloadIndex(542),
},
{
/* [59] */
/* fn pack4x8snorm(vec4<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(535),
+ /* overloads */ OverloadIndex(543),
},
{
/* [60] */
/* fn pack4x8unorm(vec4<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(536),
+ /* overloads */ OverloadIndex(544),
},
{
/* [61] */
/* fn pack4xI8(vec4<i32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(537),
+ /* overloads */ OverloadIndex(545),
},
{
/* [62] */
/* fn pack4xU8(vec4<u32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(538),
+ /* overloads */ OverloadIndex(546),
},
{
/* [63] */
/* fn pack4xI8Clamp(vec4<i32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(539),
+ /* overloads */ OverloadIndex(547),
},
{
/* [64] */
/* fn pack4xU8Clamp(vec4<u32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(540),
+ /* overloads */ OverloadIndex(548),
},
{
/* [65] */
/* fn pow[T : fa_f32_f16](T, T) -> T */
/* fn pow[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(447),
+ /* overloads */ OverloadIndex(459),
},
{
/* [66] */
/* fn quantizeToF16(f32) -> f32 */
/* fn quantizeToF16[N : num](vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(449),
+ /* overloads */ OverloadIndex(461),
},
{
/* [67] */
/* fn radians[T : fa_f32_f16](T) -> T */
/* fn radians[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(451),
+ /* overloads */ OverloadIndex(463),
},
{
/* [68] */
/* fn reflect[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(541),
+ /* overloads */ OverloadIndex(549),
},
{
/* [69] */
/* fn refract[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>, T) -> vec<N, T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(542),
+ /* overloads */ OverloadIndex(550),
},
{
/* [70] */
/* fn reverseBits[T : iu32](T) -> T */
/* fn reverseBits[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(453),
+ /* overloads */ OverloadIndex(465),
},
{
/* [71] */
/* fn round[T : fa_f32_f16](@test_value(3.5) T) -> T */
/* fn round[N : num, T : fa_f32_f16](@test_value(3.5) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(455),
+ /* overloads */ OverloadIndex(467),
},
{
/* [72] */
/* fn saturate[T : fa_f32_f16](@test_value(2) T) -> T */
/* fn saturate[T : fa_f32_f16, N : num](@test_value(2) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(457),
+ /* overloads */ OverloadIndex(469),
},
{
/* [73] */
@@ -12280,143 +12656,143 @@
/* fn select[T : scalar, N : num](vec<N, T>, vec<N, T>, bool) -> vec<N, T> */
/* fn select[N : num, T : scalar](vec<N, T>, vec<N, T>, vec<N, bool>) -> vec<N, T> */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(351),
+ /* overloads */ OverloadIndex(363),
},
{
/* [74] */
/* fn sign[T : fia_fi32_f16](T) -> T */
/* fn sign[N : num, T : fia_fi32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(459),
+ /* overloads */ OverloadIndex(471),
},
{
/* [75] */
/* fn sin[T : fa_f32_f16](@test_value(1.57079632679) T) -> T */
/* fn sin[N : num, T : fa_f32_f16](@test_value(1.57079632679) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(461),
+ /* overloads */ OverloadIndex(473),
},
{
/* [76] */
/* fn sinh[T : fa_f32_f16](T) -> T */
/* fn sinh[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(463),
+ /* overloads */ OverloadIndex(475),
},
{
/* [77] */
/* fn smoothstep[T : fa_f32_f16](@test_value(2) T, @test_value(4) T, @test_value(3) T) -> T */
/* fn smoothstep[N : num, T : fa_f32_f16](@test_value(2) vec<N, T>, @test_value(4) vec<N, T>, @test_value(3) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(465),
+ /* overloads */ OverloadIndex(477),
},
{
/* [78] */
/* fn sqrt[T : fa_f32_f16](T) -> T */
/* fn sqrt[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(467),
+ /* overloads */ OverloadIndex(479),
},
{
/* [79] */
/* fn step[T : fa_f32_f16](T, T) -> T */
/* fn step[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(469),
+ /* overloads */ OverloadIndex(481),
},
{
/* [80] */
/* fn storageBarrier() */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(543),
+ /* overloads */ OverloadIndex(551),
},
{
/* [81] */
/* fn tan[T : fa_f32_f16](T) -> T */
/* fn tan[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(471),
+ /* overloads */ OverloadIndex(483),
},
{
/* [82] */
/* fn tanh[T : fa_f32_f16](T) -> T */
/* fn tanh[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(473),
+ /* overloads */ OverloadIndex(485),
},
{
/* [83] */
/* fn transpose[M : num, N : num, T : fa_f32_f16](mat<M, N, T>) -> mat<N, M, T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(544),
+ /* overloads */ OverloadIndex(552),
},
{
/* [84] */
/* fn trunc[T : fa_f32_f16](@test_value(1.5) T) -> T */
/* fn trunc[N : num, T : fa_f32_f16](@test_value(1.5) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(475),
+ /* overloads */ OverloadIndex(487),
},
{
/* [85] */
/* fn unpack2x16float(u32) -> vec2<f32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(545),
+ /* overloads */ OverloadIndex(553),
},
{
/* [86] */
/* fn unpack2x16snorm(u32) -> vec2<f32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(546),
+ /* overloads */ OverloadIndex(554),
},
{
/* [87] */
/* fn unpack2x16unorm(u32) -> vec2<f32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(547),
+ /* overloads */ OverloadIndex(555),
},
{
/* [88] */
/* fn unpack4x8snorm(u32) -> vec4<f32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(548),
+ /* overloads */ OverloadIndex(556),
},
{
/* [89] */
/* fn unpack4x8unorm(u32) -> vec4<f32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(549),
+ /* overloads */ OverloadIndex(557),
},
{
/* [90] */
/* fn unpack4xI8(u32) -> vec4<i32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(550),
+ /* overloads */ OverloadIndex(558),
},
{
/* [91] */
/* fn unpack4xU8(u32) -> vec4<u32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(551),
+ /* overloads */ OverloadIndex(559),
},
{
/* [92] */
/* fn workgroupBarrier() */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(543),
+ /* overloads */ OverloadIndex(551),
},
{
/* [93] */
/* fn workgroupUniformLoad[T : __constructible](ptr<workgroup, T, read_write>) -> T */
/* fn workgroupUniformLoad[T : iu32](ptr<workgroup, atomic<T>, read_write>) -> T */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(477),
+ /* overloads */ OverloadIndex(489),
},
{
/* [94] */
/* fn textureBarrier() */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(543),
+ /* overloads */ OverloadIndex(551),
},
{
/* [95] */
@@ -12513,7 +12889,7 @@
/* fn textureNumSamples[T : fiu32](texture: texture_multisampled_2d<T>) -> u32 */
/* fn textureNumSamples(texture: texture_depth_multisampled_2d) -> u32 */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(479),
+ /* overloads */ OverloadIndex(491),
},
{
/* [101] */
@@ -12607,7 +12983,7 @@
/* fn textureSampleBaseClampToEdge(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
/* fn textureSampleBaseClampToEdge(texture: texture_external, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(481),
+ /* overloads */ OverloadIndex(493),
},
{
/* [108] */
@@ -12668,276 +13044,284 @@
/* [110] */
/* fn inputAttachmentLoad[T : fiu32](input_attachment: input_attachment<T>) -> vec4<T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(552),
+ /* overloads */ OverloadIndex(560),
},
{
/* [111] */
/* fn atomicLoad[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(553),
+ /* overloads */ OverloadIndex(561),
},
{
/* [112] */
/* fn atomicStore[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(554),
+ /* overloads */ OverloadIndex(562),
},
{
/* [113] */
/* fn atomicAdd[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(555),
+ /* overloads */ OverloadIndex(563),
},
{
/* [114] */
/* fn atomicSub[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(555),
+ /* overloads */ OverloadIndex(563),
},
{
/* [115] */
/* fn atomicMax[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(555),
+ /* overloads */ OverloadIndex(563),
},
{
/* [116] */
/* fn atomicMin[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(555),
+ /* overloads */ OverloadIndex(563),
},
{
/* [117] */
/* fn atomicAnd[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(555),
+ /* overloads */ OverloadIndex(563),
},
{
/* [118] */
/* fn atomicOr[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(555),
+ /* overloads */ OverloadIndex(563),
},
{
/* [119] */
/* fn atomicXor[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(555),
+ /* overloads */ OverloadIndex(563),
},
{
/* [120] */
/* fn atomicExchange[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(555),
+ /* overloads */ OverloadIndex(563),
},
{
/* [121] */
/* fn atomicCompareExchangeWeak[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T, T) -> __atomic_compare_exchange_result<T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(556),
+ /* overloads */ OverloadIndex(564),
},
{
/* [122] */
/* fn subgroupBallot(bool) -> vec4<u32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(557),
+ /* overloads */ OverloadIndex(565),
},
{
/* [123] */
/* fn subgroupElect() -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(558),
+ /* overloads */ OverloadIndex(566),
},
{
/* [124] */
/* fn subgroupBroadcast[T : fiu32_f16](value: T, @const sourceLaneIndex: iu32) -> T */
/* fn subgroupBroadcast[N : num, T : fiu32_f16](value: vec<N, T>, @const sourceLaneIndex: iu32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(483),
+ /* overloads */ OverloadIndex(495),
},
{
/* [125] */
/* fn subgroupBroadcastFirst[T : fiu32_f16](value: T) -> T */
/* fn subgroupBroadcastFirst[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(485),
+ /* overloads */ OverloadIndex(497),
},
{
/* [126] */
/* fn subgroupShuffle[T : fiu32_f16](value: T, sourceLaneIndex: iu32) -> T */
/* fn subgroupShuffle[N : num, T : fiu32_f16](value: vec<N, T>, sourceLaneIndex: iu32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(483),
+ /* overloads */ OverloadIndex(495),
},
{
/* [127] */
/* fn subgroupShuffleXor[T : fiu32_f16](value: T, mask: u32) -> T */
/* fn subgroupShuffleXor[N : num, T : fiu32_f16](value: vec<N, T>, mask: u32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(487),
+ /* overloads */ OverloadIndex(499),
},
{
/* [128] */
/* fn subgroupShuffleUp[T : fiu32_f16](value: T, delta: u32) -> T */
/* fn subgroupShuffleUp[N : num, T : fiu32_f16](value: vec<N, T>, delta: u32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(489),
+ /* overloads */ OverloadIndex(501),
},
{
/* [129] */
/* fn subgroupShuffleDown[T : fiu32_f16](value: T, delta: u32) -> T */
/* fn subgroupShuffleDown[N : num, T : fiu32_f16](value: vec<N, T>, delta: u32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(489),
+ /* overloads */ OverloadIndex(501),
},
{
/* [130] */
/* fn subgroupAdd[T : fiu32_f16](value: T) -> T */
/* fn subgroupAdd[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(485),
+ /* overloads */ OverloadIndex(497),
},
{
/* [131] */
/* fn subgroupInclusiveAdd[T : fiu32_f16](value: T) -> T */
/* fn subgroupInclusiveAdd[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(485),
+ /* overloads */ OverloadIndex(497),
},
{
/* [132] */
/* fn subgroupExclusiveAdd[T : fiu32_f16](value: T) -> T */
/* fn subgroupExclusiveAdd[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(485),
+ /* overloads */ OverloadIndex(497),
},
{
/* [133] */
/* fn subgroupMul[T : fiu32_f16](value: T) -> T */
/* fn subgroupMul[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(485),
+ /* overloads */ OverloadIndex(497),
},
{
/* [134] */
/* fn subgroupInclusiveMul[T : fiu32_f16](value: T) -> T */
/* fn subgroupInclusiveMul[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(485),
+ /* overloads */ OverloadIndex(497),
},
{
/* [135] */
/* fn subgroupExclusiveMul[T : fiu32_f16](value: T) -> T */
/* fn subgroupExclusiveMul[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(485),
+ /* overloads */ OverloadIndex(497),
},
{
/* [136] */
/* fn subgroupAnd[T : iu32](value: T) -> T */
/* fn subgroupAnd[N : num, T : iu32](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(491),
+ /* overloads */ OverloadIndex(503),
},
{
/* [137] */
/* fn subgroupOr[T : iu32](value: T) -> T */
/* fn subgroupOr[N : num, T : iu32](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(491),
+ /* overloads */ OverloadIndex(503),
},
{
/* [138] */
/* fn subgroupXor[T : iu32](value: T) -> T */
/* fn subgroupXor[N : num, T : iu32](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(491),
+ /* overloads */ OverloadIndex(503),
},
{
/* [139] */
/* fn subgroupMin[T : fiu32_f16](value: T) -> T */
/* fn subgroupMin[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(485),
+ /* overloads */ OverloadIndex(497),
},
{
/* [140] */
/* fn subgroupMax[T : fiu32_f16](value: T) -> T */
/* fn subgroupMax[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(485),
+ /* overloads */ OverloadIndex(497),
},
{
/* [141] */
/* fn subgroupAll(bool) -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(559),
+ /* overloads */ OverloadIndex(567),
},
{
/* [142] */
/* fn subgroupAny(bool) -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(559),
+ /* overloads */ OverloadIndex(567),
},
{
/* [143] */
/* fn quadBroadcast[T : fiu32_f16](e: T, @const id: iu32) -> T */
/* fn quadBroadcast[N : num, T : fiu32_f16](e: vec<N, T>, @const id: iu32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(493),
+ /* overloads */ OverloadIndex(505),
},
{
/* [144] */
/* fn quadSwapX[T : fiu32_f16](e: T) -> T */
/* fn quadSwapX[N : num, T : fiu32_f16](e: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(495),
+ /* overloads */ OverloadIndex(507),
},
{
/* [145] */
/* fn quadSwapY[T : fiu32_f16](e: T) -> T */
/* fn quadSwapY[N : num, T : fiu32_f16](e: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(495),
+ /* overloads */ OverloadIndex(507),
},
{
/* [146] */
/* fn quadSwapDiagonal[T : fiu32_f16](e: T) -> T */
/* fn quadSwapDiagonal[N : num, T : fiu32_f16](e: vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(495),
+ /* overloads */ OverloadIndex(507),
},
{
/* [147] */
/* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num](ptr<storage, runtime_array<S>, readable>, u32, @const bool, @test_value(8) 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, @test_value(8) u32) -> T */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(497),
+ /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : i8, C : num, R : num](ptr<storage, runtime_array<i32>, readable>, u32, @const bool, @test_value(8) u32) -> T */
+ /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : u8, C : num, R : num](ptr<storage, runtime_array<u32>, readable>, u32, @const bool, @test_value(8) u32) -> T */
+ /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : i8, C : num, R : num, AC : num](ptr<workgroup_or_storage, array<i32, AC>, readable>, u32, @const bool, @test_value(8) u32) -> T */
+ /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : u8, C : num, R : num, AC : num](ptr<workgroup_or_storage, array<u32, AC>, readable>, u32, @const bool, @test_value(8) u32) -> T */
+ /* num overloads */ 6,
+ /* overloads */ OverloadIndex(322),
},
{
/* [148] */
/* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num](ptr<storage, runtime_array<S>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, @test_value(8) 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, @test_value(8) u32) */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(499),
+ /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : i8, C : num, R : num](ptr<storage, runtime_array<i32>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, @test_value(8) u32) */
+ /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : u8, C : num, R : num](ptr<storage, runtime_array<u32>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, @test_value(8) u32) */
+ /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : i8, C : num, R : num, AC : num](ptr<workgroup_or_storage, array<i32, AC>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, @test_value(8) u32) */
+ /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : u8, C : num, R : num, AC : num](ptr<workgroup_or_storage, array<u32, AC>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, @test_value(8) u32) */
+ /* num overloads */ 6,
+ /* overloads */ OverloadIndex(328),
},
{
/* [149] */
/* fn subgroupMatrixMultiply<TR : subgroup_matrix_elements>[T : subgroup_matrix_elements, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_left, T, K, R>, subgroup_matrix<subgroup_matrix_kind_right, T, C, K>) -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(560),
+ /* overloads */ OverloadIndex(568),
},
{
/* [150] */
/* fn subgroupMatrixMultiplyAccumulate[T : subgroup_matrix_elements, TR : subgroup_matrix_elements, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_left, T, K, R>, subgroup_matrix<subgroup_matrix_kind_right, T, C, K>, subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>) -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(561),
+ /* overloads */ OverloadIndex(569),
},
{
/* [151] */
/* fn __tint_materialize[T](T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(562),
+ /* overloads */ OverloadIndex(570),
},
};
@@ -12946,34 +13330,34 @@
/* [0] */
/* op &[S : address_space, T, A : access](ref<S, T, A>) -> ptr<S, T, A> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(563),
+ /* overloads */ OverloadIndex(571),
},
{
/* [1] */
/* op *[S : address_space, T, A : access](ptr<S, T, A>) -> ref<S, T, A> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(564),
+ /* overloads */ OverloadIndex(572),
},
{
/* [2] */
/* op !(bool) -> bool */
/* op  -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(501),
+ /* overloads */ OverloadIndex(509),
},
{
/* [3] */
/* op ~[T : ia_iu32](T) -> T */
/* op ~[T : ia_iu32, N : num](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(503),
+ /* overloads */ OverloadIndex(511),
},
{
/* [4] */
/* op -[T : fia_fi32_f16](T) -> T */
/* op -[T : fia_fi32_f16, N : num](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(505),
+ /* overloads */ OverloadIndex(513),
},
};
constexpr uint8_t kUnaryOperatorAnd = 0;
@@ -12991,7 +13375,7 @@
/* op +[T : fia_fiu32_f16, N : num](T, vec<N, T>) -> vec<N, T> */
/* op +[T : fa_f32_f16, N : num, M : num](mat<N, M, T>, mat<N, M, T>) -> mat<N, M, T> */
/* num overloads */ 5,
- /* overloads */ OverloadIndex(322),
+ /* overloads */ OverloadIndex(334),
},
{
/* [1] */
@@ -13001,7 +13385,7 @@
/* op -[T : fia_fiu32_f16, N : num](T, vec<N, T>) -> vec<N, T> */
/* op -[T : fa_f32_f16, N : num, M : num](mat<N, M, T>, mat<N, M, T>) -> mat<N, M, T> */
/* num overloads */ 5,
- /* overloads */ OverloadIndex(327),
+ /* overloads */ OverloadIndex(339),
},
{
/* [2] */
@@ -13024,7 +13408,7 @@
/* op /[T : fia_fiu32_f16, N : num](vec<N, T>, T) -> vec<N, T> */
/* op /[T : fia_fiu32_f16, N : num](T, vec<N, T>) -> vec<N, T> */
/* num overloads */ 4,
- /* overloads */ OverloadIndex(332),
+ /* overloads */ OverloadIndex(344),
},
{
/* [4] */
@@ -13033,14 +13417,14 @@
/* op %[T : fia_fiu32_f16, N : num](vec<N, T>, T) -> vec<N, T> */
/* op %[T : fia_fiu32_f16, N : num](T, vec<N, T>) -> vec<N, T> */
/* num overloads */ 4,
- /* overloads */ OverloadIndex(336),
+ /* overloads */ OverloadIndex(348),
},
{
/* [5] */
/* op ^[T : ia_iu32](T, T) -> T */
/* op ^[T : ia_iu32, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(507),
+ /* overloads */ OverloadIndex(515),
},
{
/* [6] */
@@ -13049,7 +13433,7 @@
/* op &[T : ia_iu32](T, T) -> T */
/* op &[T : ia_iu32, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 4,
- /* overloads */ OverloadIndex(340),
+ /* overloads */ OverloadIndex(352),
},
{
/* [7] */
@@ -13058,75 +13442,75 @@
/* op |[T : ia_iu32](T, T) -> T */
/* op |[T : ia_iu32, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 4,
- /* overloads */ OverloadIndex(344),
+ /* overloads */ OverloadIndex(356),
},
{
/* [8] */
/* op &&(bool, bool) -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(565),
+ /* overloads */ OverloadIndex(573),
},
{
/* [9] */
/* op ||(bool, bool) -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(566),
+ /* overloads */ OverloadIndex(574),
},
{
/* [10] */
/* op ==[T : scalar](T, T) -> bool */
/* op ==[T : scalar, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(509),
+ /* overloads */ OverloadIndex(517),
},
{
/* [11] */
/* op !=[T : scalar](T, T) -> bool */
/* op !=[T : scalar, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(511),
+ /* overloads */ OverloadIndex(519),
},
{
/* [12] */
/* op <[T : fia_fiu32_f16](T, T) -> bool */
/* op <[T : fia_fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(513),
+ /* overloads */ OverloadIndex(521),
},
{
/* [13] */
/* op >[T : fia_fiu32_f16](T, T) -> bool */
/* op >[T : fia_fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(515),
+ /* overloads */ OverloadIndex(523),
},
{
/* [14] */
/* op <=[T : fia_fiu32_f16](T, T) -> bool */
/* op <=[T : fia_fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(517),
+ /* overloads */ OverloadIndex(525),
},
{
/* [15] */
/* op >=[T : fia_fiu32_f16](T, T) -> bool */
/* op >=[T : fia_fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(519),
+ /* overloads */ OverloadIndex(527),
},
{
/* [16] */
/* op <<[T : ia_iu32](T, u32) -> T */
/* op <<[T : ia_iu32, N : num](vec<N, T>, vec<N, u32>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(521),
+ /* overloads */ OverloadIndex(529),
},
{
/* [17] */
/* op >>[T : ia_iu32](T, u32) -> T */
/* op >>[T : ia_iu32, N : num](vec<N, T>, vec<N, u32>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(523),
+ /* overloads */ OverloadIndex(531),
},
};
constexpr uint8_t kBinaryOperatorPlus = 0;
@@ -13155,7 +13539,7 @@
/* ctor i32(i32) -> i32 */
/* conv i32[T : scalar_no_i32](T) -> i32 */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(354),
+ /* overloads */ OverloadIndex(366),
},
{
/* [1] */
@@ -13163,7 +13547,7 @@
/* ctor u32(u32) -> u32 */
/* conv u32[T : scalar_no_u32](T) -> u32 */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(357),
+ /* overloads */ OverloadIndex(369),
},
{
/* [2] */
@@ -13171,7 +13555,7 @@
/* ctor f32(f32) -> f32 */
/* conv f32[T : scalar_no_f32](T) -> f32 */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(360),
+ /* overloads */ OverloadIndex(372),
},
{
/* [3] */
@@ -13179,7 +13563,7 @@
/* ctor f16(f16) -> f16 */
/* conv f16[T : scalar_no_f16](T) -> f16 */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(363),
+ /* overloads */ OverloadIndex(375),
},
{
/* [4] */
@@ -13187,7 +13571,7 @@
/* ctor bool(bool) -> bool */
/* conv bool[T : scalar_no_bool](T) -> bool */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(366),
+ /* overloads */ OverloadIndex(378),
},
{
/* [5] */
diff --git a/src/tint/lang/wgsl/resolver/subgroup_matrix_test.cc b/src/tint/lang/wgsl/resolver/subgroup_matrix_test.cc
index 927e6c8..a60590b 100644
--- a/src/tint/lang/wgsl/resolver/subgroup_matrix_test.cc
+++ b/src/tint/lang/wgsl/resolver/subgroup_matrix_test.cc
@@ -356,6 +356,50 @@
testing::HasSubstr(R"(error: no matching call to 'subgroupMatrixStore)"));
}
+TEST_F(ResolverSubgroupMatrixTest, SubgroupMatrixStore_i8) {
+ Enable(wgsl::Extension::kChromiumExperimentalSubgroupMatrix);
+ auto* buffer = GlobalVar("buffer", storage, read_write, ty.array(ty.i32(), 8_a),
+ Vector{Group(0_u), Binding(0_u)});
+ auto* call = Call(wgsl::BuiltinFn::kSubgroupMatrixStore, AddressOf(buffer), 0_u,
+ Call(ty.subgroup_matrix(core::SubgroupMatrixKind::kLeft, ty.i8(), 8u, 8u)),
+ false, 32_u);
+ Func("foo", Empty, ty.void_(),
+ Vector{
+ CallStmt(call),
+ });
+
+ EXPECT_TRUE(r()->Resolve()) << r()->error();
+
+ auto call_sem = Sem().Get(call)->As<sem::Call>();
+ ASSERT_NE(call_sem, nullptr);
+ auto* target = call_sem->Target()->As<sem::BuiltinFn>();
+ ASSERT_NE(target, nullptr);
+ EXPECT_EQ(target->Fn(), wgsl::BuiltinFn::kSubgroupMatrixStore);
+ EXPECT_TRUE(target->IsSubgroupMatrix());
+}
+
+TEST_F(ResolverSubgroupMatrixTest, SubgroupMatrixStore_u8) {
+ Enable(wgsl::Extension::kChromiumExperimentalSubgroupMatrix);
+ auto* buffer = GlobalVar("buffer", storage, read_write, ty.array(ty.u32(), 8_a),
+ Vector{Group(0_u), Binding(0_u)});
+ auto* call = Call(wgsl::BuiltinFn::kSubgroupMatrixStore, AddressOf(buffer), 0_u,
+ Call(ty.subgroup_matrix(core::SubgroupMatrixKind::kLeft, ty.u8(), 8u, 8u)),
+ false, 32_u);
+ Func("foo", Empty, ty.void_(),
+ Vector{
+ CallStmt(call),
+ });
+
+ EXPECT_TRUE(r()->Resolve()) << r()->error();
+
+ auto call_sem = Sem().Get(call)->As<sem::Call>();
+ ASSERT_NE(call_sem, nullptr);
+ auto* target = call_sem->Target()->As<sem::BuiltinFn>();
+ ASSERT_NE(target, nullptr);
+ EXPECT_EQ(target->Fn(), wgsl::BuiltinFn::kSubgroupMatrixStore);
+ EXPECT_TRUE(target->IsSubgroupMatrix());
+}
+
TEST_F(ResolverSubgroupMatrixTest, SubgroupMatrixLoad) {
Enable(wgsl::Extension::kChromiumExperimentalSubgroupMatrix);
auto* buffer =
@@ -411,6 +455,52 @@
testing::HasSubstr(R"(error: no matching call to 'subgroupMatrixLoad)"));
}
+TEST_F(ResolverSubgroupMatrixTest, SubgroupMatrixLoad_i8) {
+ Enable(wgsl::Extension::kChromiumExperimentalSubgroupMatrix);
+ auto* buffer =
+ GlobalVar("buffer", storage, ty.array(ty.i32(), 8_a), Vector{Group(0_u), Binding(0_u)});
+ auto* call = Call(Ident(wgsl::BuiltinFn::kSubgroupMatrixLoad,
+ ty.subgroup_matrix(core::SubgroupMatrixKind::kLeft, ty.i8(), 8u, 8u)),
+ AddressOf(buffer), 0_u, false, 32_u);
+ Func("foo", Empty, ty.void_(),
+ Vector{
+ Assign(Phony(), call),
+ });
+
+ EXPECT_TRUE(r()->Resolve()) << r()->error();
+
+ auto call_sem = Sem().Get(call)->As<sem::Call>();
+ ASSERT_NE(call_sem, nullptr);
+ auto* target = call_sem->Target()->As<sem::BuiltinFn>();
+ ASSERT_NE(target, nullptr);
+ EXPECT_EQ(target->Fn(), wgsl::BuiltinFn::kSubgroupMatrixLoad);
+ EXPECT_TRUE(target->ReturnType()->Is<core::type::SubgroupMatrix>());
+ EXPECT_TRUE(target->IsSubgroupMatrix());
+}
+
+TEST_F(ResolverSubgroupMatrixTest, SubgroupMatrixLoad_u8) {
+ Enable(wgsl::Extension::kChromiumExperimentalSubgroupMatrix);
+ auto* buffer =
+ GlobalVar("buffer", storage, ty.array(ty.u32(), 8_a), Vector{Group(0_u), Binding(0_u)});
+ auto* call = Call(Ident(wgsl::BuiltinFn::kSubgroupMatrixLoad,
+ ty.subgroup_matrix(core::SubgroupMatrixKind::kLeft, ty.u8(), 8u, 8u)),
+ AddressOf(buffer), 0_u, false, 32_u);
+ Func("foo", Empty, ty.void_(),
+ Vector{
+ Assign(Phony(), call),
+ });
+
+ EXPECT_TRUE(r()->Resolve()) << r()->error();
+
+ auto call_sem = Sem().Get(call)->As<sem::Call>();
+ ASSERT_NE(call_sem, nullptr);
+ auto* target = call_sem->Target()->As<sem::BuiltinFn>();
+ ASSERT_NE(target, nullptr);
+ EXPECT_EQ(target->Fn(), wgsl::BuiltinFn::kSubgroupMatrixLoad);
+ EXPECT_TRUE(target->ReturnType()->Is<core::type::SubgroupMatrix>());
+ EXPECT_TRUE(target->IsSubgroupMatrix());
+}
+
TEST_F(ResolverSubgroupMatrixTest, SubgroupMatrixMultiply) {
Enable(wgsl::Extension::kChromiumExperimentalSubgroupMatrix);
auto* left = Var("left", function, ty("subgroup_matrix_left", ty.f32(), 2_u, 4_u));
diff --git a/src/tint/lang/wgsl/wgsl.def b/src/tint/lang/wgsl/wgsl.def
index 3307131..00e62c9 100644
--- a/src/tint/lang/wgsl/wgsl.def
+++ b/src/tint/lang/wgsl/wgsl.def
@@ -683,8 +683,16 @@
@must_use @stage("compute") implicit(K: subgroup_matrix_kind, S: fiu32_f16, C: num, R: num) fn subgroupMatrixLoad<T: subgroup_matrix<K, S, C, R> >(ptr<storage, runtime_array<S>, readable>, u32, @const bool, @test_value(8) u32) -> 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, @const bool, @test_value(8) u32) -> T
+@must_use @stage("compute") implicit(K: subgroup_matrix_kind, S: i8, C: num, R: num) fn subgroupMatrixLoad<T: subgroup_matrix<K, S, C, R> >(ptr<storage, runtime_array<i32>, readable>, u32, @const bool, @test_value(8) u32) -> T
+@must_use @stage("compute") implicit(K: subgroup_matrix_kind, S: u8, C: num, R: num) fn subgroupMatrixLoad<T: subgroup_matrix<K, S, C, R> >(ptr<storage, runtime_array<u32>, readable>, u32, @const bool, @test_value(8) u32) -> T
+@must_use @stage("compute") implicit(K: subgroup_matrix_kind, S: i8, C: num, R: num, AC: num) fn subgroupMatrixLoad<T: subgroup_matrix<K, S, C, R> >(ptr<workgroup_or_storage, array<i32, AC>, readable>, u32, @const bool, @test_value(8) u32) -> T
+@must_use @stage("compute") implicit(K: subgroup_matrix_kind, S: u8, C: num, R: num, AC: num) fn subgroupMatrixLoad<T: subgroup_matrix<K, S, C, R> >(ptr<workgroup_or_storage, array<u32, AC>, readable>, u32, @const bool, @test_value(8) u32) -> T
@stage("compute") implicit(K: subgroup_matrix_kind, S: fiu32_f16, C: num, R: num) fn subgroupMatrixStore(ptr<storage, runtime_array<S>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, @test_value(8) u32)
@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, @test_value(8) u32)
+@stage("compute") implicit(K: subgroup_matrix_kind, S: i8, C: num, R: num) fn subgroupMatrixStore(ptr<storage, runtime_array<i32>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, @test_value(8) u32)
+@stage("compute") implicit(K: subgroup_matrix_kind, S: u8, C: num, R: num) fn subgroupMatrixStore(ptr<storage, runtime_array<u32>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, @test_value(8) u32)
+@stage("compute") implicit(K: subgroup_matrix_kind, S: i8, C: num, R: num, AC: num) fn subgroupMatrixStore(ptr<workgroup_or_storage, array<i32, AC>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, @test_value(8) u32)
+@stage("compute") implicit(K: subgroup_matrix_kind, S: u8, C: num, R: num, AC: num) fn subgroupMatrixStore(ptr<workgroup_or_storage, array<u32, AC>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, @test_value(8) u32)
@must_use @stage("compute") implicit(T: subgroup_matrix_elements, C: num, R: num, K: num) fn subgroupMatrixMultiply<TR: subgroup_matrix_elements>(
subgroup_matrix<subgroup_matrix_kind_left, T, K, R>,
subgroup_matrix<subgroup_matrix_kind_right, T, C, K>)
diff --git a/test/tint/builtins/gen/gen.wgsl.tmpl b/test/tint/builtins/gen/gen.wgsl.tmpl
index 798f45d..2293d0d 100644
--- a/test/tint/builtins/gen/gen.wgsl.tmpl
+++ b/test/tint/builtins/gen/gen.wgsl.tmpl
@@ -53,7 +53,14 @@
{{- $b := 0 -}}
{{- if and (or $overload.CanBeUsedInStage.Fragment $overload.CanBeUsedInStage.Compute) (and $overload.ReturnType (IsDeclarable $overload.ReturnType))}}
{{- if (HasPrefix $overload.ReturnType.Target.Name "subgroup_matrix") -}}
+{{- $return_element_type := Eval "Type" (index $overload.ReturnType.TemplateArguments 1) -}}
+{{- if eq "i8" $return_element_type -}}
+@group(0) @binding({{$b}}) var<storage, read_write> prevent_dce : array<i32, 1024>;
+{{- else if eq "u8" $return_element_type -}}
+@group(0) @binding({{$b}}) var<storage, read_write> prevent_dce : array<u32, 1024>;
+{{- else -}}
@group(0) @binding({{$b}}) var<storage, read_write> prevent_dce : array<{{ElementType $overload.ReturnType}}, 1024>;
+{{- end -}}
{{- else if and (IsHostShareable $overload.ReturnType) (not (HasPrefix $overload.ReturnType.Target.Name "mat"))}}
@group(0) @binding({{$b}}) var<storage, read_write> prevent_dce : {{template "Type" $overload.ReturnType -}};
{{- else}}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/015e29.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/015e29.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/015e29.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/03a4db.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl
new file mode 100644
index 0000000..939f451
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.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>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, i8, 8, 8>>(ptr<storage, runtime_array<i32>, read>, u32, @const bool, u32) -> subgroup_matrix<result, i8, 8, 8>
+fn subgroupMatrixLoad_03a4db() -> subgroup_matrix_result<i8, 8, 8>{
+ var res: subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 8>>(&sb_ro.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_03a4db(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/03a4db.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/03a4db.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/03a4db.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/03a4db.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl.expected.spvasm
new file mode 100644
index 0000000..eb02619
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/03a4db.wgsl.expected.spvasm
@@ -0,0 +1,100 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_03a4db() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 8>>(&(sb_ro.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_03a4db(), false, 64);
+}
+
+Failed to generate SPIR-V: :27:48 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>>(ptr<storage, i32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %12, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:7 note: in block
+ $B3: { # true
+ ^^^
+
+:43:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:39:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_ro:ptr<storage, SB_RO, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_03a4db = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<i32>, read> = access %sb_ro, 0u
+ %5:u32 = spirv.array_length %sb_ro, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ %11:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var undef
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %12:ptr<storage, i32, read> = access %4, 1u
+ %13:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %12, 1u, 8u, 32u
+ store %11, %13
+ exit_if # if_1
+ }
+ }
+ %14:subgroup_matrix_result<i8, 8, 8> = load %11
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %14
+ %16:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %16
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %18:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixLoad_03a4db
+ %19:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %20:ptr<storage, i32, read_write> = access %19, 0u
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/06933f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/06933f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/06933f.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/0cc7b0.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0cc7b0.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0cc7b0.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0cc7b0.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0cc7b0.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0cc7b0.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0cc7b0.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0cc7b0.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0cc7b0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0cc7b0.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0cc7b0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0cc7b0.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/0cc7b0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0cc7b0.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0cc7b0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0cc7b0.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/0cc7b0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0cc7b0.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0cc7b0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0cc7b0.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/0f48aa.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f48aa.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f48aa.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f48aa.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f48aa.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f48aa.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f48aa.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f48aa.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f48aa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f48aa.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f48aa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f48aa.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/0f48aa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f48aa.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f48aa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f48aa.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/0f48aa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f48aa.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f48aa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f48aa.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/0f7739.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl
new file mode 100644
index 0000000..33f1f4f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.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>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, i8, 8, 8>>(ptr<storage, runtime_array<i32>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, i8, 8, 8>
+fn subgroupMatrixLoad_0f7739() -> subgroup_matrix_left<i8, 8, 8>{
+ var res: subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 8, 8>>(&sb_rw.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_0f7739(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/0f7739.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/0f7739.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/0f7739.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/0f7739.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl.expected.spvasm
new file mode 100644
index 0000000..a687835
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0f7739.wgsl.expected.spvasm
@@ -0,0 +1,100 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_0f7739() -> subgroup_matrix_left<i8, 8, 8> {
+ var res : subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 8, 8>>(&(sb_rw.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_0f7739(), false, 64);
+}
+
+Failed to generate SPIR-V: :27:46 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>>(ptr<storage, i32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %12, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:7 note: in block
+ $B3: { # true
+ ^^^
+
+:43:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_left<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:39:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_0f7739 = func():subgroup_matrix_left<i8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<i32>, read_write> = access %sb_rw, 0u
+ %5:u32 = spirv.array_length %sb_rw, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ %11:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var undef
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %12:ptr<storage, i32, read_write> = access %4, 1u
+ %13:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %12, 1u, 8u, 32u
+ store %11, %13
+ exit_if # if_1
+ }
+ }
+ %14:subgroup_matrix_left<i8, 8, 8> = load %11
+ %res:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var %14
+ %16:subgroup_matrix_left<i8, 8, 8> = load %res
+ ret %16
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %18:subgroup_matrix_left<i8, 8, 8> = call %subgroupMatrixLoad_0f7739
+ %19:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %20:ptr<storage, i32, read_write> = access %19, 0u
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/119c99.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/119c99.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/119c99.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/119c99.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/11bb4b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11bb4b.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/11bb4b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11bb4b.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/11bb4b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11bb4b.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/11bb4b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11bb4b.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/11bb4b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11bb4b.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/11bb4b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11bb4b.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/11bb4b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11bb4b.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/11bb4b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11bb4b.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/11bb4b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11bb4b.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/11bb4b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11bb4b.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/122298.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl
new file mode 100644
index 0000000..5226bf7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, i8, 8, 8>>(ptr<storage, array<i32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, i8, 8, 8>
+fn subgroupMatrixLoad_122298() -> subgroup_matrix_left<i8, 8, 8>{
+ var res: subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 8, 8>>(&sb_rw.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_122298(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/122298.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/122298.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/122298.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/122298.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl.expected.spvasm
new file mode 100644
index 0000000..2700871
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/122298.wgsl.expected.spvasm
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_122298() -> subgroup_matrix_left<i8, 8, 8> {
+ var res : subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 8, 8>>(&(sb_rw.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_122298(), false, 64);
+}
+
+Failed to generate SPIR-V: :22:41 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>>(ptr<storage, i32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %5, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:19:3 note: in block
+ $B2: {
+ ^^^
+
+:33:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_left<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_122298 = func():subgroup_matrix_left<i8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<i32, 1024>, read_write> = access %2, 0u, 0u
+ %5:ptr<storage, i32, read_write> = access %4, 1u
+ %6:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %5, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_left<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_left<i8, 8, 8> = call %subgroupMatrixLoad_122298
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/128bf4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/128bf4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/128bf4.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/12b63e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12b63e.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/12b63e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12b63e.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/12b63e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12b63e.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/12b63e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12b63e.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/12b63e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12b63e.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/12b63e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12b63e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/12b63e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12b63e.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/12b63e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12b63e.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/12b63e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12b63e.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/12b63e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12b63e.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/12ca82.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/12ca82.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/12ca82.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/12ca82.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/12ca82.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/15689c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/15689c.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/15689c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/15689c.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/15689c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/15689c.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/15689c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/15689c.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/15689c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/15689c.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/15689c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/15689c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/15689c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/15689c.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/15689c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/15689c.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/15689c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/15689c.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/15689c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/15689c.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/1a0572.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1a0572.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1a0572.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1a0572.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1a0572.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1a0572.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1a0572.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1a0572.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1a0572.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1a0572.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1a0572.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1a0572.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/1a0572.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1a0572.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1a0572.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1a0572.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/1a0572.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1a0572.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1a0572.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1a0572.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/1b3162.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl
new file mode 100644
index 0000000..4ff9a4f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.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, 1024>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, i8, 8, 8>>(ptr<workgroup, array<i32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, i8, 8, 8>
+fn subgroupMatrixLoad_1b3162() -> subgroup_matrix_right<i8, 8, 8>{
+ var res: subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 8, 8>>(&arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_1b3162(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/1b3162.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/1b3162.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/1b3162.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/1b3162.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl.expected.spvasm
new file mode 100644
index 0000000..e3b43c6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1b3162.wgsl.expected.spvasm
@@ -0,0 +1,98 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixLoad_1b3162() -> subgroup_matrix_right<i8, 8, 8> {
+ var res : subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 8, 8>>(&(arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_1b3162(), false, 64);
+}
+
+Failed to generate SPIR-V: :13:42 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>>(ptr<workgroup, i32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %5:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:11:3 note: in block
+ $B2: {
+ ^^^
+
+:45:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_right<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:void = spirv.cooperative_matrix_store %17, %15, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %arg_0:ptr<workgroup, array<i32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixLoad_1b3162 = func():subgroup_matrix_right<i8, 8, 8> {
+ $B2: {
+ %4:ptr<workgroup, i32, read_write> = access %arg_0, 1u
+ %5:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %4, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_right<i8, 8, 8> = load %res
+ ret %7
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B3: {
+ loop [i: $B4, b: $B5, c: $B6] { # loop_1
+ $B4: { # initializer
+ next_iteration %tint_local_index # -> $B5
+ }
+ $B5 (%idx:u32): { # body
+ %11:bool = gte %idx, 1024u
+ if %11 [t: $B7] { # if_1
+ $B7: { # true
+ exit_loop # loop_1
+ }
+ }
+ %12:ptr<workgroup, i32, read_write> = access %arg_0, %idx
+ store %12, 0i
+ continue # -> $B6
+ }
+ $B6: { # continuing
+ %13:u32 = add %idx, 1u
+ next_iteration %13 # -> $B5
+ }
+ }
+ %14:void = workgroupBarrier
+ %15:subgroup_matrix_right<i8, 8, 8> = call %subgroupMatrixLoad_1b3162
+ %16:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %17:ptr<storage, i32, read_write> = access %16, 0u
+ %18:void = spirv.cooperative_matrix_store %17, %15, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/21f2c7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/21f2c7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/21f2c7.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/23385e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/23385e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/23385e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/23385e.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/23385e.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/297099.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl
new file mode 100644
index 0000000..6d14cd3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, i8, 8, 8>>(ptr<storage, array<i32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, i8, 8, 8>
+fn subgroupMatrixLoad_297099() -> subgroup_matrix_result<i8, 8, 8>{
+ var res: subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 8>>(&sb_rw.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_297099(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/297099.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/297099.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/297099.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/297099.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl.expected.spvasm
new file mode 100644
index 0000000..5198ebe
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/297099.wgsl.expected.spvasm
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_297099() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 8>>(&(sb_rw.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_297099(), false, 64);
+}
+
+Failed to generate SPIR-V: :22:43 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>>(ptr<storage, i32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %5, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:19:3 note: in block
+ $B2: {
+ ^^^
+
+:33:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_297099 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<i32, 1024>, read_write> = access %2, 0u, 0u
+ %5:ptr<storage, i32, read_write> = access %4, 1u
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %5, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixLoad_297099
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl
new file mode 100644
index 0000000..89dd107
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.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>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, u8, 8, 8>>(ptr<storage, runtime_array<u32>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, u8, 8, 8>
+fn subgroupMatrixLoad_29f533() -> subgroup_matrix_left<u8, 8, 8>{
+ var res: subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 8, 8>>(&sb_rw.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_29f533(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/29f533.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/29f533.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/29f533.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/29f533.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl.expected.spvasm
new file mode 100644
index 0000000..8395f50
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/29f533.wgsl.expected.spvasm
@@ -0,0 +1,100 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_29f533() -> subgroup_matrix_left<u8, 8, 8> {
+ var res : subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 8, 8>>(&(sb_rw.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_29f533(), false, 64);
+}
+
+Failed to generate SPIR-V: :27:46 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>>(ptr<storage, u32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %12, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:7 note: in block
+ $B3: { # true
+ ^^^
+
+:43:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_left<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:39:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_29f533 = func():subgroup_matrix_left<u8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<u32>, read_write> = access %sb_rw, 0u
+ %5:u32 = spirv.array_length %sb_rw, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ %11:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var undef
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %12:ptr<storage, u32, read_write> = access %4, 1u
+ %13:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %12, 1u, 8u, 32u
+ store %11, %13
+ exit_if # if_1
+ }
+ }
+ %14:subgroup_matrix_left<u8, 8, 8> = load %11
+ %res:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var %14
+ %16:subgroup_matrix_left<u8, 8, 8> = load %res
+ ret %16
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %18:subgroup_matrix_left<u8, 8, 8> = call %subgroupMatrixLoad_29f533
+ %19:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %20:ptr<storage, u32, read_write> = access %19, 0u
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/30634b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/30634b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/30634b.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/30634b.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/3f3203.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl
new file mode 100644
index 0000000..d6aa11b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, u8, 8, 8>>(ptr<storage, array<u32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, u8, 8, 8>
+fn subgroupMatrixLoad_3f3203() -> subgroup_matrix_result<u8, 8, 8>{
+ var res: subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 8>>(&sb_rw.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_3f3203(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/3f3203.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/3f3203.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/3f3203.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/3f3203.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl.expected.spvasm
new file mode 100644
index 0000000..8cd8590
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3f3203.wgsl.expected.spvasm
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_3f3203() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 8>>(&(sb_rw.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_3f3203(), false, 64);
+}
+
+Failed to generate SPIR-V: :22:43 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>>(ptr<storage, u32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %5, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:19:3 note: in block
+ $B2: {
+ ^^^
+
+:33:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_3f3203 = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<u32, 1024>, read_write> = access %2, 0u, 0u
+ %5:ptr<storage, u32, read_write> = access %4, 1u
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %5, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixLoad_3f3203
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/42db25.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/42db25.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/42db25.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/42db25.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/43c097.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/43c097.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/43c097.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/43c097.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/43c097.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/457d20.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/457d20.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/457d20.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/457d20.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/457d20.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/459957.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/459957.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/459957.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/459957.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/459957.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/459957.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/459957.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/459957.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/459957.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/459957.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/459957.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/459957.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/459957.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/459957.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/459957.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/459957.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/459957.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/459957.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/459957.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/459957.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/487a88.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl
new file mode 100644
index 0000000..295b5b2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.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, 1024>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, u8, 8, 8>>(ptr<workgroup, array<u32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, u8, 8, 8>
+fn subgroupMatrixLoad_487a88() -> subgroup_matrix_right<u8, 8, 8>{
+ var res: subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 8, 8>>(&arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_487a88(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/487a88.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/487a88.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/487a88.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/487a88.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl.expected.spvasm
new file mode 100644
index 0000000..549d339
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/487a88.wgsl.expected.spvasm
@@ -0,0 +1,98 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixLoad_487a88() -> subgroup_matrix_right<u8, 8, 8> {
+ var res : subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 8, 8>>(&(arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_487a88(), false, 64);
+}
+
+Failed to generate SPIR-V: :13:42 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>>(ptr<workgroup, u32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %5:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:11:3 note: in block
+ $B2: {
+ ^^^
+
+:45:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_right<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:void = spirv.cooperative_matrix_store %17, %15, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %arg_0:ptr<workgroup, array<u32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixLoad_487a88 = func():subgroup_matrix_right<u8, 8, 8> {
+ $B2: {
+ %4:ptr<workgroup, u32, read_write> = access %arg_0, 1u
+ %5:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %4, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_right<u8, 8, 8> = load %res
+ ret %7
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B3: {
+ loop [i: $B4, b: $B5, c: $B6] { # loop_1
+ $B4: { # initializer
+ next_iteration %tint_local_index # -> $B5
+ }
+ $B5 (%idx:u32): { # body
+ %11:bool = gte %idx, 1024u
+ if %11 [t: $B7] { # if_1
+ $B7: { # true
+ exit_loop # loop_1
+ }
+ }
+ %12:ptr<workgroup, u32, read_write> = access %arg_0, %idx
+ store %12, 0u
+ continue # -> $B6
+ }
+ $B6: { # continuing
+ %13:u32 = add %idx, 1u
+ next_iteration %13 # -> $B5
+ }
+ }
+ %14:void = workgroupBarrier
+ %15:subgroup_matrix_right<u8, 8, 8> = call %subgroupMatrixLoad_487a88
+ %16:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %17:ptr<storage, u32, read_write> = access %16, 0u
+ %18:void = spirv.cooperative_matrix_store %17, %15, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/4fd336.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/4fd336.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4fd336.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/50572b.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl
new file mode 100644
index 0000000..4a7a0ff
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.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, 1024>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, u8, 8, 8>>(ptr<workgroup, array<u32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, u8, 8, 8>
+fn subgroupMatrixLoad_50572b() -> subgroup_matrix_left<u8, 8, 8>{
+ var res: subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 8, 8>>(&arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_50572b(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/50572b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/50572b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/50572b.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/50572b.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl.expected.spvasm
new file mode 100644
index 0000000..05934ec
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50572b.wgsl.expected.spvasm
@@ -0,0 +1,98 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixLoad_50572b() -> subgroup_matrix_left<u8, 8, 8> {
+ var res : subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 8, 8>>(&(arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_50572b(), false, 64);
+}
+
+Failed to generate SPIR-V: :13:41 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>>(ptr<workgroup, u32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %5:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:11:3 note: in block
+ $B2: {
+ ^^^
+
+:45:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_left<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:void = spirv.cooperative_matrix_store %17, %15, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %arg_0:ptr<workgroup, array<u32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixLoad_50572b = func():subgroup_matrix_left<u8, 8, 8> {
+ $B2: {
+ %4:ptr<workgroup, u32, read_write> = access %arg_0, 1u
+ %5:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %4, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_left<u8, 8, 8> = load %res
+ ret %7
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B3: {
+ loop [i: $B4, b: $B5, c: $B6] { # loop_1
+ $B4: { # initializer
+ next_iteration %tint_local_index # -> $B5
+ }
+ $B5 (%idx:u32): { # body
+ %11:bool = gte %idx, 1024u
+ if %11 [t: $B7] { # if_1
+ $B7: { # true
+ exit_loop # loop_1
+ }
+ }
+ %12:ptr<workgroup, u32, read_write> = access %arg_0, %idx
+ store %12, 0u
+ continue # -> $B6
+ }
+ $B6: { # continuing
+ %13:u32 = add %idx, 1u
+ next_iteration %13 # -> $B5
+ }
+ }
+ %14:void = workgroupBarrier
+ %15:subgroup_matrix_left<u8, 8, 8> = call %subgroupMatrixLoad_50572b
+ %16:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %17:ptr<storage, u32, read_write> = access %16, 0u
+ %18:void = spirv.cooperative_matrix_store %17, %15, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/5155ed.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/5155ed.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/5155ed.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5155ed.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/52acb0.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/52acb0.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/52acb0.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/52acb0.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/52acb0.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/52acb0.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/52acb0.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/52acb0.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/52acb0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/52acb0.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/52acb0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/52acb0.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/52acb0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/52acb0.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/52acb0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/52acb0.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/52acb0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/52acb0.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/52acb0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/52acb0.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/567359.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl
new file mode 100644
index 0000000..acf9237
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.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>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, u8, 8, 8>>(ptr<storage, runtime_array<u32>, read>, u32, @const bool, u32) -> subgroup_matrix<right, u8, 8, 8>
+fn subgroupMatrixLoad_567359() -> subgroup_matrix_right<u8, 8, 8>{
+ var res: subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 8, 8>>(&sb_ro.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_567359(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/567359.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/567359.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/567359.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/567359.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl.expected.spvasm
new file mode 100644
index 0000000..82a5a5a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/567359.wgsl.expected.spvasm
@@ -0,0 +1,100 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_567359() -> subgroup_matrix_right<u8, 8, 8> {
+ var res : subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 8, 8>>(&(sb_ro.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_567359(), false, 64);
+}
+
+Failed to generate SPIR-V: :27:47 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>>(ptr<storage, u32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %12, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:7 note: in block
+ $B3: { # true
+ ^^^
+
+:43:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_right<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:39:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_ro:ptr<storage, SB_RO, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_567359 = func():subgroup_matrix_right<u8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<u32>, read> = access %sb_ro, 0u
+ %5:u32 = spirv.array_length %sb_ro, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ %11:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var undef
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %12:ptr<storage, u32, read> = access %4, 1u
+ %13:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %12, 1u, 8u, 32u
+ store %11, %13
+ exit_if # if_1
+ }
+ }
+ %14:subgroup_matrix_right<u8, 8, 8> = load %11
+ %res:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var %14
+ %16:subgroup_matrix_right<u8, 8, 8> = load %res
+ ret %16
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %18:subgroup_matrix_right<u8, 8, 8> = call %subgroupMatrixLoad_567359
+ %19:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %20:ptr<storage, u32, read_write> = access %19, 0u
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl
new file mode 100644
index 0000000..c2946c4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.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>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, i8, 8, 8>>(ptr<storage, runtime_array<i32>, read>, u32, @const bool, u32) -> subgroup_matrix<right, i8, 8, 8>
+fn subgroupMatrixLoad_58b2f2() -> subgroup_matrix_right<i8, 8, 8>{
+ var res: subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 8, 8>>(&sb_ro.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_58b2f2(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/58b2f2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/58b2f2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/58b2f2.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/58b2f2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl.expected.spvasm
new file mode 100644
index 0000000..f0457b6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58b2f2.wgsl.expected.spvasm
@@ -0,0 +1,100 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_58b2f2() -> subgroup_matrix_right<i8, 8, 8> {
+ var res : subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 8, 8>>(&(sb_ro.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_58b2f2(), false, 64);
+}
+
+Failed to generate SPIR-V: :27:47 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>>(ptr<storage, i32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %12, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:7 note: in block
+ $B3: { # true
+ ^^^
+
+:43:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_right<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:39:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_ro:ptr<storage, SB_RO, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_58b2f2 = func():subgroup_matrix_right<i8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<i32>, read> = access %sb_ro, 0u
+ %5:u32 = spirv.array_length %sb_ro, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ %11:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var undef
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %12:ptr<storage, i32, read> = access %4, 1u
+ %13:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %12, 1u, 8u, 32u
+ store %11, %13
+ exit_if # if_1
+ }
+ }
+ %14:subgroup_matrix_right<i8, 8, 8> = load %11
+ %res:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var %14
+ %16:subgroup_matrix_right<i8, 8, 8> = load %res
+ ret %16
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %18:subgroup_matrix_right<i8, 8, 8> = call %subgroupMatrixLoad_58b2f2
+ %19:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %20:ptr<storage, i32, read_write> = access %19, 0u
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/5c0896.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/5c0896.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5c0896.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/5de410.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5de410.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5de410.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5de410.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5de410.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5de410.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5de410.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5de410.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5de410.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5de410.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5de410.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5de410.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/5de410.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5de410.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5de410.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5de410.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/5de410.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5de410.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5de410.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5de410.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/5e2602.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl
new file mode 100644
index 0000000..af46b9a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.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>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, u8, 8, 8>>(ptr<storage, runtime_array<u32>, read>, u32, @const bool, u32) -> subgroup_matrix<result, u8, 8, 8>
+fn subgroupMatrixLoad_5e2602() -> subgroup_matrix_result<u8, 8, 8>{
+ var res: subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 8>>(&sb_ro.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_5e2602(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/5e2602.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/5e2602.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/5e2602.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/5e2602.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl.expected.spvasm
new file mode 100644
index 0000000..dc054b2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5e2602.wgsl.expected.spvasm
@@ -0,0 +1,100 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_5e2602() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 8>>(&(sb_ro.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_5e2602(), false, 64);
+}
+
+Failed to generate SPIR-V: :27:48 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>>(ptr<storage, u32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %12, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:7 note: in block
+ $B3: { # true
+ ^^^
+
+:43:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:39:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_ro:ptr<storage, SB_RO, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_5e2602 = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<u32>, read> = access %sb_ro, 0u
+ %5:u32 = spirv.array_length %sb_ro, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ %11:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var undef
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %12:ptr<storage, u32, read> = access %4, 1u
+ %13:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %12, 1u, 8u, 32u
+ store %11, %13
+ exit_if # if_1
+ }
+ }
+ %14:subgroup_matrix_result<u8, 8, 8> = load %11
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %14
+ %16:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %16
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %18:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixLoad_5e2602
+ %19:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %20:ptr<storage, u32, read_write> = access %19, 0u
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/6432c6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/6432c6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/6432c6.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6432c6.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/662272.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl
new file mode 100644
index 0000000..9fbc351
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.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, 1024>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, i8, 8, 8>>(ptr<workgroup, array<i32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, i8, 8, 8>
+fn subgroupMatrixLoad_662272() -> subgroup_matrix_result<i8, 8, 8>{
+ var res: subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 8>>(&arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_662272(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/662272.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/662272.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/662272.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/662272.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl.expected.spvasm
new file mode 100644
index 0000000..f8203a7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/662272.wgsl.expected.spvasm
@@ -0,0 +1,98 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixLoad_662272() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 8>>(&(arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_662272(), false, 64);
+}
+
+Failed to generate SPIR-V: :13:43 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>>(ptr<workgroup, i32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %5:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:11:3 note: in block
+ $B2: {
+ ^^^
+
+:45:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:void = spirv.cooperative_matrix_store %17, %15, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %arg_0:ptr<workgroup, array<i32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixLoad_662272 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %4:ptr<workgroup, i32, read_write> = access %arg_0, 1u
+ %5:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %4, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %7
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B3: {
+ loop [i: $B4, b: $B5, c: $B6] { # loop_1
+ $B4: { # initializer
+ next_iteration %tint_local_index # -> $B5
+ }
+ $B5 (%idx:u32): { # body
+ %11:bool = gte %idx, 1024u
+ if %11 [t: $B7] { # if_1
+ $B7: { # true
+ exit_loop # loop_1
+ }
+ }
+ %12:ptr<workgroup, i32, read_write> = access %arg_0, %idx
+ store %12, 0i
+ continue # -> $B6
+ }
+ $B6: { # continuing
+ %13:u32 = add %idx, 1u
+ next_iteration %13 # -> $B5
+ }
+ }
+ %14:void = workgroupBarrier
+ %15:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixLoad_662272
+ %16:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %17:ptr<storage, i32, read_write> = access %16, 0u
+ %18:void = spirv.cooperative_matrix_store %17, %15, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl
new file mode 100644
index 0000000..a3858ae
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.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>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, i8, 8, 8>>(ptr<storage, runtime_array<i32>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, i8, 8, 8>
+fn subgroupMatrixLoad_664e6e() -> subgroup_matrix_right<i8, 8, 8>{
+ var res: subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 8, 8>>(&sb_rw.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_664e6e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/664e6e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/664e6e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/664e6e.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/664e6e.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl.expected.spvasm
new file mode 100644
index 0000000..3ac3582
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/664e6e.wgsl.expected.spvasm
@@ -0,0 +1,100 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_664e6e() -> subgroup_matrix_right<i8, 8, 8> {
+ var res : subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 8, 8>>(&(sb_rw.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_664e6e(), false, 64);
+}
+
+Failed to generate SPIR-V: :27:47 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>>(ptr<storage, i32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %12, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:7 note: in block
+ $B3: { # true
+ ^^^
+
+:43:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_right<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:39:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_664e6e = func():subgroup_matrix_right<i8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<i32>, read_write> = access %sb_rw, 0u
+ %5:u32 = spirv.array_length %sb_rw, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ %11:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var undef
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %12:ptr<storage, i32, read_write> = access %4, 1u
+ %13:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %12, 1u, 8u, 32u
+ store %11, %13
+ exit_if # if_1
+ }
+ }
+ %14:subgroup_matrix_right<i8, 8, 8> = load %11
+ %res:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var %14
+ %16:subgroup_matrix_right<i8, 8, 8> = load %res
+ ret %16
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %18:subgroup_matrix_right<i8, 8, 8> = call %subgroupMatrixLoad_664e6e
+ %19:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %20:ptr<storage, i32, read_write> = access %19, 0u
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl
new file mode 100644
index 0000000..1e2994c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, i8, 8, 8>>(ptr<storage, array<i32, 1024>, read>, u32, @const bool, u32) -> subgroup_matrix<left, i8, 8, 8>
+fn subgroupMatrixLoad_6778bb() -> subgroup_matrix_left<i8, 8, 8>{
+ var res: subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 8, 8>>(&sb_ro.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_6778bb(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/6778bb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/6778bb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/6778bb.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/6778bb.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl.expected.spvasm
new file mode 100644
index 0000000..3ae4a3c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6778bb.wgsl.expected.spvasm
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_6778bb() -> subgroup_matrix_left<i8, 8, 8> {
+ var res : subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 8, 8>>(&(sb_ro.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_6778bb(), false, 64);
+}
+
+Failed to generate SPIR-V: :22:41 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>>(ptr<storage, i32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %5, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:19:3 note: in block
+ $B2: {
+ ^^^
+
+:33:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_left<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+sb_ro_block = struct @align(4), @block {
+ inner:SB_RO @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_ro_block, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_6778bb = func():subgroup_matrix_left<i8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<i32, 1024>, read> = access %2, 0u, 0u
+ %5:ptr<storage, i32, read> = access %4, 1u
+ %6:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %5, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_left<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_left<i8, 8, 8> = call %subgroupMatrixLoad_6778bb
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/6c1e00.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/6c1e00.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6c1e00.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/6e2773.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/6e2773.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/6e2773.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/6e2773.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6e2773.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/7bacd3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bacd3.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bacd3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bacd3.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bacd3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bacd3.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bacd3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bacd3.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bacd3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bacd3.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bacd3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bacd3.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/7bacd3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bacd3.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bacd3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bacd3.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/7bacd3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bacd3.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bacd3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bacd3.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/7bb257.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/7bb257.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/7bb257.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/7bb257.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7bb257.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/80b778.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/80b778.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/80b778.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/80b778.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/80b778.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/85fc76.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/85fc76.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/85fc76.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/85fc76.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/85fc76.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/865a3c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/865a3c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/865a3c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/865a3c.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/865a3c.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/86df2e.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl
new file mode 100644
index 0000000..3f6bdfc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, u8, 8, 8>>(ptr<storage, array<u32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, u8, 8, 8>
+fn subgroupMatrixLoad_86df2e() -> subgroup_matrix_right<u8, 8, 8>{
+ var res: subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 8, 8>>(&sb_rw.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_86df2e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/86df2e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/86df2e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/86df2e.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/86df2e.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl.expected.spvasm
new file mode 100644
index 0000000..ea71039
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/86df2e.wgsl.expected.spvasm
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_86df2e() -> subgroup_matrix_right<u8, 8, 8> {
+ var res : subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 8, 8>>(&(sb_rw.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_86df2e(), false, 64);
+}
+
+Failed to generate SPIR-V: :22:42 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>>(ptr<storage, u32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %5, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:19:3 note: in block
+ $B2: {
+ ^^^
+
+:33:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_right<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_86df2e = func():subgroup_matrix_right<u8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<u32, 1024>, read_write> = access %2, 0u, 0u
+ %5:ptr<storage, u32, read_write> = access %4, 1u
+ %6:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %5, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_right<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_right<u8, 8, 8> = call %subgroupMatrixLoad_86df2e
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl
new file mode 100644
index 0000000..c4325e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, i8, 8, 8>>(ptr<storage, array<i32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, i8, 8, 8>
+fn subgroupMatrixLoad_8861f0() -> subgroup_matrix_right<i8, 8, 8>{
+ var res: subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 8, 8>>(&sb_rw.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_8861f0(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/8861f0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/8861f0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/8861f0.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/8861f0.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl.expected.spvasm
new file mode 100644
index 0000000..ebef1e8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8861f0.wgsl.expected.spvasm
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_8861f0() -> subgroup_matrix_right<i8, 8, 8> {
+ var res : subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 8, 8>>(&(sb_rw.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_8861f0(), false, 64);
+}
+
+Failed to generate SPIR-V: :22:42 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>>(ptr<storage, i32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %5, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:19:3 note: in block
+ $B2: {
+ ^^^
+
+:33:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_right<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_8861f0 = func():subgroup_matrix_right<i8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<i32, 1024>, read_write> = access %2, 0u, 0u
+ %5:ptr<storage, i32, read_write> = access %4, 1u
+ %6:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %5, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_right<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_right<i8, 8, 8> = call %subgroupMatrixLoad_8861f0
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/8ec8ba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/8ec8ba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8ec8ba.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/91abc9.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl
new file mode 100644
index 0000000..002957b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.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>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, i8, 8, 8>>(ptr<storage, runtime_array<i32>, read>, u32, @const bool, u32) -> subgroup_matrix<left, i8, 8, 8>
+fn subgroupMatrixLoad_91abc9() -> subgroup_matrix_left<i8, 8, 8>{
+ var res: subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 8, 8>>(&sb_ro.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_91abc9(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/91abc9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/91abc9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/91abc9.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/91abc9.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl.expected.spvasm
new file mode 100644
index 0000000..ffdf136
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/91abc9.wgsl.expected.spvasm
@@ -0,0 +1,100 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_91abc9() -> subgroup_matrix_left<i8, 8, 8> {
+ var res : subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 8, 8>>(&(sb_ro.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_91abc9(), false, 64);
+}
+
+Failed to generate SPIR-V: :27:46 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>>(ptr<storage, i32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %12, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:7 note: in block
+ $B3: { # true
+ ^^^
+
+:43:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_left<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:39:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_ro:ptr<storage, SB_RO, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_91abc9 = func():subgroup_matrix_left<i8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<i32>, read> = access %sb_ro, 0u
+ %5:u32 = spirv.array_length %sb_ro, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ %11:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var undef
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %12:ptr<storage, i32, read> = access %4, 1u
+ %13:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %12, 1u, 8u, 32u
+ store %11, %13
+ exit_if # if_1
+ }
+ }
+ %14:subgroup_matrix_left<i8, 8, 8> = load %11
+ %res:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var %14
+ %16:subgroup_matrix_left<i8, 8, 8> = load %res
+ ret %16
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %18:subgroup_matrix_left<i8, 8, 8> = call %subgroupMatrixLoad_91abc9
+ %19:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %20:ptr<storage, i32, read_write> = access %19, 0u
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/99d2a2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/99d2a2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/99d2a2.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/99d2a2.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/9bc799.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl
new file mode 100644
index 0000000..87a9934
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, i8, 8, 8>>(ptr<storage, array<i32, 1024>, read>, u32, @const bool, u32) -> subgroup_matrix<result, i8, 8, 8>
+fn subgroupMatrixLoad_9bc799() -> subgroup_matrix_result<i8, 8, 8>{
+ var res: subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 8>>(&sb_ro.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_9bc799(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9bc799.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9bc799.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9bc799.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9bc799.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl.expected.spvasm
new file mode 100644
index 0000000..784d6ca
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9bc799.wgsl.expected.spvasm
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_9bc799() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 8>>(&(sb_ro.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_9bc799(), false, 64);
+}
+
+Failed to generate SPIR-V: :22:43 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>>(ptr<storage, i32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %5, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:19:3 note: in block
+ $B2: {
+ ^^^
+
+:33:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+sb_ro_block = struct @align(4), @block {
+ inner:SB_RO @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_ro_block, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_9bc799 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<i32, 1024>, read> = access %2, 0u, 0u
+ %5:ptr<storage, i32, read> = access %4, 1u
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %5, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixLoad_9bc799
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl
new file mode 100644
index 0000000..8b47d96
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, u8, 8, 8>>(ptr<storage, array<u32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, u8, 8, 8>
+fn subgroupMatrixLoad_9c4b12() -> subgroup_matrix_left<u8, 8, 8>{
+ var res: subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 8, 8>>(&sb_rw.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_9c4b12(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9c4b12.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9c4b12.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9c4b12.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9c4b12.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl.expected.spvasm
new file mode 100644
index 0000000..0534ac9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c4b12.wgsl.expected.spvasm
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_9c4b12() -> subgroup_matrix_left<u8, 8, 8> {
+ var res : subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 8, 8>>(&(sb_rw.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_9c4b12(), false, 64);
+}
+
+Failed to generate SPIR-V: :22:41 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>>(ptr<storage, u32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %5, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:19:3 note: in block
+ $B2: {
+ ^^^
+
+:33:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_left<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_9c4b12 = func():subgroup_matrix_left<u8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<u32, 1024>, read_write> = access %2, 0u, 0u
+ %5:ptr<storage, u32, read_write> = access %4, 1u
+ %6:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %5, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_left<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_left<u8, 8, 8> = call %subgroupMatrixLoad_9c4b12
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/9e2d69.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/9e2d69.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/9e2d69.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e2d69.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/a13603.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a13603.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a13603.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a13603.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a13603.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a13603.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a13603.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a13603.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a13603.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a13603.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a13603.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a13603.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/a13603.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a13603.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a13603.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a13603.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/a13603.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a13603.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a13603.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a13603.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/a798ae.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/a798ae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/a798ae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/a798ae.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a798ae.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/a95397.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a95397.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a95397.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a95397.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a95397.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a95397.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a95397.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a95397.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a95397.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a95397.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a95397.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a95397.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/a95397.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a95397.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a95397.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a95397.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/a95397.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a95397.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a95397.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a95397.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/aadc6f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/aadc6f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/aadc6f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/aadc6f.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/aadc6f.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/ad687c.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl
new file mode 100644
index 0000000..5e9f27d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, u8, 8, 8>>(ptr<storage, array<u32, 1024>, read>, u32, @const bool, u32) -> subgroup_matrix<left, u8, 8, 8>
+fn subgroupMatrixLoad_ad687c() -> subgroup_matrix_left<u8, 8, 8>{
+ var res: subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 8, 8>>(&sb_ro.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_ad687c(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/ad687c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/ad687c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/ad687c.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/ad687c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl.expected.spvasm
new file mode 100644
index 0000000..18f6c0d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ad687c.wgsl.expected.spvasm
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_ad687c() -> subgroup_matrix_left<u8, 8, 8> {
+ var res : subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 8, 8>>(&(sb_ro.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_ad687c(), false, 64);
+}
+
+Failed to generate SPIR-V: :22:41 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>>(ptr<storage, u32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %5, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:19:3 note: in block
+ $B2: {
+ ^^^
+
+:33:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_left<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+sb_ro_block = struct @align(4), @block {
+ inner:SB_RO @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_ro_block, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_ad687c = func():subgroup_matrix_left<u8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<u32, 1024>, read> = access %2, 0u, 0u
+ %5:ptr<storage, u32, read> = access %4, 1u
+ %6:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %5, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_left<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_left<u8, 8, 8> = call %subgroupMatrixLoad_ad687c
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/b15f59.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/b15f59.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b15f59.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/b19701.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl
new file mode 100644
index 0000000..f268971
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, i8, 8, 8>>(ptr<storage, array<i32, 1024>, read>, u32, @const bool, u32) -> subgroup_matrix<right, i8, 8, 8>
+fn subgroupMatrixLoad_b19701() -> subgroup_matrix_right<i8, 8, 8>{
+ var res: subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 8, 8>>(&sb_ro.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b19701(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/b19701.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/b19701.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/b19701.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/b19701.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl.expected.spvasm
new file mode 100644
index 0000000..78c13fe
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b19701.wgsl.expected.spvasm
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_b19701() -> subgroup_matrix_right<i8, 8, 8> {
+ var res : subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 8, 8>>(&(sb_ro.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b19701(), false, 64);
+}
+
+Failed to generate SPIR-V: :22:42 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>>(ptr<storage, i32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %5, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:19:3 note: in block
+ $B2: {
+ ^^^
+
+:33:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_right<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+sb_ro_block = struct @align(4), @block {
+ inner:SB_RO @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_ro_block, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_b19701 = func():subgroup_matrix_right<i8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<i32, 1024>, read> = access %2, 0u, 0u
+ %5:ptr<storage, i32, read> = access %4, 1u
+ %6:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %5, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_right<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_right<i8, 8, 8> = call %subgroupMatrixLoad_b19701
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/b354d2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/b354d2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/b354d2.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b354d2.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/b6f72c.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl
new file mode 100644
index 0000000..332ccf0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.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, 1024>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, u8, 8, 8>>(ptr<workgroup, array<u32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, u8, 8, 8>
+fn subgroupMatrixLoad_b6f72c() -> subgroup_matrix_result<u8, 8, 8>{
+ var res: subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 8>>(&arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b6f72c(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/b6f72c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/b6f72c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/b6f72c.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/b6f72c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl.expected.spvasm
new file mode 100644
index 0000000..bc1b820
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b6f72c.wgsl.expected.spvasm
@@ -0,0 +1,98 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixLoad_b6f72c() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 8>>(&(arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b6f72c(), false, 64);
+}
+
+Failed to generate SPIR-V: :13:43 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>>(ptr<workgroup, u32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %5:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:11:3 note: in block
+ $B2: {
+ ^^^
+
+:45:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:void = spirv.cooperative_matrix_store %17, %15, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %arg_0:ptr<workgroup, array<u32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixLoad_b6f72c = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %4:ptr<workgroup, u32, read_write> = access %arg_0, 1u
+ %5:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %4, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %7
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B3: {
+ loop [i: $B4, b: $B5, c: $B6] { # loop_1
+ $B4: { # initializer
+ next_iteration %tint_local_index # -> $B5
+ }
+ $B5 (%idx:u32): { # body
+ %11:bool = gte %idx, 1024u
+ if %11 [t: $B7] { # if_1
+ $B7: { # true
+ exit_loop # loop_1
+ }
+ }
+ %12:ptr<workgroup, u32, read_write> = access %arg_0, %idx
+ store %12, 0u
+ continue # -> $B6
+ }
+ $B6: { # continuing
+ %13:u32 = add %idx, 1u
+ next_iteration %13 # -> $B5
+ }
+ }
+ %14:void = workgroupBarrier
+ %15:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixLoad_b6f72c
+ %16:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %17:ptr<storage, u32, read_write> = access %16, 0u
+ %18:void = spirv.cooperative_matrix_store %17, %15, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl
new file mode 100644
index 0000000..0c24c68
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.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>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, u8, 8, 8>>(ptr<storage, runtime_array<u32>, read>, u32, @const bool, u32) -> subgroup_matrix<left, u8, 8, 8>
+fn subgroupMatrixLoad_bcfcb6() -> subgroup_matrix_left<u8, 8, 8>{
+ var res: subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 8, 8>>(&sb_ro.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_bcfcb6(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/bcfcb6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/bcfcb6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/bcfcb6.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/bcfcb6.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl.expected.spvasm
new file mode 100644
index 0000000..0d7c575
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/bcfcb6.wgsl.expected.spvasm
@@ -0,0 +1,100 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_bcfcb6() -> subgroup_matrix_left<u8, 8, 8> {
+ var res : subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 8, 8>>(&(sb_ro.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_bcfcb6(), false, 64);
+}
+
+Failed to generate SPIR-V: :27:46 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>>(ptr<storage, u32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %12, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:7 note: in block
+ $B3: { # true
+ ^^^
+
+:43:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_left<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:39:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_ro:ptr<storage, SB_RO, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_bcfcb6 = func():subgroup_matrix_left<u8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<u32>, read> = access %sb_ro, 0u
+ %5:u32 = spirv.array_length %sb_ro, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ %11:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var undef
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %12:ptr<storage, u32, read> = access %4, 1u
+ %13:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %12, 1u, 8u, 32u
+ store %11, %13
+ exit_if # if_1
+ }
+ }
+ %14:subgroup_matrix_left<u8, 8, 8> = load %11
+ %res:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var %14
+ %16:subgroup_matrix_left<u8, 8, 8> = load %res
+ ret %16
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %18:subgroup_matrix_left<u8, 8, 8> = call %subgroupMatrixLoad_bcfcb6
+ %19:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %20:ptr<storage, u32, read_write> = access %19, 0u
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/c700ca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/c700ca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/c700ca.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c700ca.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/c71ce4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c71ce4.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c71ce4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c71ce4.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c71ce4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c71ce4.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c71ce4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c71ce4.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c71ce4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c71ce4.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c71ce4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c71ce4.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/c71ce4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c71ce4.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c71ce4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c71ce4.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/c71ce4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c71ce4.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c71ce4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c71ce4.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/ca4345.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/ca4345.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/ca4345.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/ca4345.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4345.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/ca4539.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4539.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4539.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4539.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4539.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4539.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4539.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4539.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4539.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4539.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4539.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4539.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/ca4539.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4539.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4539.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4539.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/ca4539.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4539.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4539.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ca4539.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/cc5556.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/cc5556.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/cc5556.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/cc5556.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cc5556.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/cce4cd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cce4cd.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/cce4cd.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cce4cd.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/cce4cd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cce4cd.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/cce4cd.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cce4cd.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/cce4cd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cce4cd.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/cce4cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cce4cd.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/cce4cd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cce4cd.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/cce4cd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cce4cd.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/cce4cd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cce4cd.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/cce4cd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/cce4cd.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/d2b502.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2b502.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2b502.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2b502.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2b502.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2b502.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2b502.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2b502.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2b502.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2b502.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2b502.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2b502.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/d2b502.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2b502.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2b502.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2b502.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/d2b502.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2b502.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2b502.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2b502.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/d2c77c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/d2c77c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/d2c77c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/d2c77c.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d2c77c.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/d6e273.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/d6e273.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/d6e273.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/d6e273.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d6e273.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/d72b92.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl
new file mode 100644
index 0000000..ba7adda
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, u8, 8, 8>>(ptr<storage, array<u32, 1024>, read>, u32, @const bool, u32) -> subgroup_matrix<right, u8, 8, 8>
+fn subgroupMatrixLoad_d72b92() -> subgroup_matrix_right<u8, 8, 8>{
+ var res: subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 8, 8>>(&sb_ro.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_d72b92(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/d72b92.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/d72b92.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/d72b92.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/d72b92.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl.expected.spvasm
new file mode 100644
index 0000000..0b458df
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d72b92.wgsl.expected.spvasm
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_d72b92() -> subgroup_matrix_right<u8, 8, 8> {
+ var res : subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 8, 8>>(&(sb_ro.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_d72b92(), false, 64);
+}
+
+Failed to generate SPIR-V: :22:42 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>>(ptr<storage, u32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %5, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:19:3 note: in block
+ $B2: {
+ ^^^
+
+:33:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_right<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+sb_ro_block = struct @align(4), @block {
+ inner:SB_RO @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_ro_block, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_d72b92 = func():subgroup_matrix_right<u8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<u32, 1024>, read> = access %2, 0u, 0u
+ %5:ptr<storage, u32, read> = access %4, 1u
+ %6:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %5, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_right<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_right<u8, 8, 8> = call %subgroupMatrixLoad_d72b92
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/d80c87.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/d80c87.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/d80c87.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d80c87.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/da5d2c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/da5d2c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/da5d2c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/da5d2c.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/da5d2c.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/df0754.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl
new file mode 100644
index 0000000..4389cbd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.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, 1024>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, i8, 8, 8>>(ptr<workgroup, array<i32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, i8, 8, 8>
+fn subgroupMatrixLoad_df0754() -> subgroup_matrix_left<i8, 8, 8>{
+ var res: subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 8, 8>>(&arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_df0754(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/df0754.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/df0754.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/df0754.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/df0754.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl.expected.spvasm
new file mode 100644
index 0000000..2c25e6f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df0754.wgsl.expected.spvasm
@@ -0,0 +1,98 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixLoad_df0754() -> subgroup_matrix_left<i8, 8, 8> {
+ var res : subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 8, 8>>(&(arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_df0754(), false, 64);
+}
+
+Failed to generate SPIR-V: :13:41 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>>(ptr<workgroup, i32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %5:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:11:3 note: in block
+ $B2: {
+ ^^^
+
+:45:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_left<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:void = spirv.cooperative_matrix_store %17, %15, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %arg_0:ptr<workgroup, array<i32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixLoad_df0754 = func():subgroup_matrix_left<i8, 8, 8> {
+ $B2: {
+ %4:ptr<workgroup, i32, read_write> = access %arg_0, 1u
+ %5:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %4, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_left<i8, 8, 8> = load %res
+ ret %7
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B3: {
+ loop [i: $B4, b: $B5, c: $B6] { # loop_1
+ $B4: { # initializer
+ next_iteration %tint_local_index # -> $B5
+ }
+ $B5 (%idx:u32): { # body
+ %11:bool = gte %idx, 1024u
+ if %11 [t: $B7] { # if_1
+ $B7: { # true
+ exit_loop # loop_1
+ }
+ }
+ %12:ptr<workgroup, i32, read_write> = access %arg_0, %idx
+ store %12, 0i
+ continue # -> $B6
+ }
+ $B6: { # continuing
+ %13:u32 = add %idx, 1u
+ next_iteration %13 # -> $B5
+ }
+ }
+ %14:void = workgroupBarrier
+ %15:subgroup_matrix_left<i8, 8, 8> = call %subgroupMatrixLoad_df0754
+ %16:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %17:ptr<storage, i32, read_write> = access %16, 0u
+ %18:void = spirv.cooperative_matrix_store %17, %15, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/df98ff.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/df98ff.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/df98ff.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/df98ff.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/e40231.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl
new file mode 100644
index 0000000..91d67e1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.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>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, i8, 8, 8>>(ptr<storage, runtime_array<i32>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, i8, 8, 8>
+fn subgroupMatrixLoad_e40231() -> subgroup_matrix_result<i8, 8, 8>{
+ var res: subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 8>>(&sb_rw.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_e40231(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e40231.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e40231.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e40231.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e40231.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl.expected.spvasm
new file mode 100644
index 0000000..cf5ea7e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e40231.wgsl.expected.spvasm
@@ -0,0 +1,100 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_e40231() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 8>>(&(sb_rw.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_e40231(), false, 64);
+}
+
+Failed to generate SPIR-V: :27:48 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>>(ptr<storage, i32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %12, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:7 note: in block
+ $B3: { # true
+ ^^^
+
+:43:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:39:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_e40231 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<i32>, read_write> = access %sb_rw, 0u
+ %5:u32 = spirv.array_length %sb_rw, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ %11:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var undef
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %12:ptr<storage, i32, read_write> = access %4, 1u
+ %13:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %12, 1u, 8u, 32u
+ store %11, %13
+ exit_if # if_1
+ }
+ }
+ %14:subgroup_matrix_result<i8, 8, 8> = load %11
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %14
+ %16:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %16
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %18:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixLoad_e40231
+ %19:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %20:ptr<storage, i32, read_write> = access %19, 0u
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl
new file mode 100644
index 0000000..335f7a7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.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>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, u8, 8, 8>>(ptr<storage, runtime_array<u32>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, u8, 8, 8>
+fn subgroupMatrixLoad_e5381c() -> subgroup_matrix_result<u8, 8, 8>{
+ var res: subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 8>>(&sb_rw.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_e5381c(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e5381c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e5381c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e5381c.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e5381c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl.expected.spvasm
new file mode 100644
index 0000000..5e08f62
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5381c.wgsl.expected.spvasm
@@ -0,0 +1,100 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_e5381c() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 8>>(&(sb_rw.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_e5381c(), false, 64);
+}
+
+Failed to generate SPIR-V: :27:48 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>>(ptr<storage, u32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %12, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:7 note: in block
+ $B3: { # true
+ ^^^
+
+:43:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:39:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_e5381c = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<u32>, read_write> = access %sb_rw, 0u
+ %5:u32 = spirv.array_length %sb_rw, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ %11:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var undef
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %12:ptr<storage, u32, read_write> = access %4, 1u
+ %13:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %12, 1u, 8u, 32u
+ store %11, %13
+ exit_if # if_1
+ }
+ }
+ %14:subgroup_matrix_result<u8, 8, 8> = load %11
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %14
+ %16:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %16
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %18:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixLoad_e5381c
+ %19:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %20:ptr<storage, u32, read_write> = access %19, 0u
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/e5caba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/e5caba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e5caba.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/e995ba.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e995ba.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e995ba.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e995ba.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e995ba.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e995ba.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e995ba.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e995ba.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e995ba.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e995ba.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e995ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e995ba.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/e995ba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e995ba.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e995ba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e995ba.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/e995ba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e995ba.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e995ba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e995ba.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/f364a9.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl
new file mode 100644
index 0000000..ffbbe9b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.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>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, u8, 8, 8>>(ptr<storage, runtime_array<u32>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, u8, 8, 8>
+fn subgroupMatrixLoad_f364a9() -> subgroup_matrix_right<u8, 8, 8>{
+ var res: subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 8, 8>>(&sb_rw.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_f364a9(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f364a9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f364a9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f364a9.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f364a9.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl.expected.spvasm
new file mode 100644
index 0000000..dc40b3d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f364a9.wgsl.expected.spvasm
@@ -0,0 +1,100 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_f364a9() -> subgroup_matrix_right<u8, 8, 8> {
+ var res : subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 8, 8>>(&(sb_rw.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_f364a9(), false, 64);
+}
+
+Failed to generate SPIR-V: :27:47 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>>(ptr<storage, u32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %12, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:7 note: in block
+ $B3: { # true
+ ^^^
+
+:43:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_right<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:39:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_f364a9 = func():subgroup_matrix_right<u8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<u32>, read_write> = access %sb_rw, 0u
+ %5:u32 = spirv.array_length %sb_rw, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ %11:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var undef
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %12:ptr<storage, u32, read_write> = access %4, 1u
+ %13:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %12, 1u, 8u, 32u
+ store %11, %13
+ exit_if # if_1
+ }
+ }
+ %14:subgroup_matrix_right<u8, 8, 8> = load %11
+ %res:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var %14
+ %16:subgroup_matrix_right<u8, 8, 8> = load %res
+ ret %16
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %18:subgroup_matrix_right<u8, 8, 8> = call %subgroupMatrixLoad_f364a9
+ %19:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %20:ptr<storage, u32, read_write> = access %19, 0u
+ %21:void = spirv.cooperative_matrix_store %20, %18, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/f406f6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/f406f6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/f406f6.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f406f6.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/f58623.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f58623.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f58623.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f58623.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f58623.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f58623.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f58623.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f58623.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f58623.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f58623.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f58623.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f58623.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/f58623.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f58623.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f58623.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f58623.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/f58623.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f58623.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f58623.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f58623.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/f792f5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f792f5.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f792f5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f792f5.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f792f5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f792f5.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f792f5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f792f5.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f792f5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f792f5.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f792f5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f792f5.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/f792f5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f792f5.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f792f5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f792f5.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/f792f5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f792f5.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f792f5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f792f5.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/f86f9f.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl
new file mode 100644
index 0000000..9572b27
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, u8, 8, 8>>(ptr<storage, array<u32, 1024>, read>, u32, @const bool, u32) -> subgroup_matrix<result, u8, 8, 8>
+fn subgroupMatrixLoad_f86f9f() -> subgroup_matrix_result<u8, 8, 8>{
+ var res: subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 8>>(&sb_ro.arg_0, 1u, true, 8u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_f86f9f(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f86f9f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f86f9f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f86f9f.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f86f9f.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl.expected.spvasm
new file mode 100644
index 0000000..6a1a416
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f86f9f.wgsl.expected.spvasm
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_f86f9f() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 8>>(&(sb_ro.arg_0), 1u, true, 8u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_f86f9f(), false, 64);
+}
+
+Failed to generate SPIR-V: :22:43 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>>(ptr<storage, u32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %5, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:19:3 note: in block
+ $B2: {
+ ^^^
+
+:33:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+sb_ro_block = struct @align(4), @block {
+ inner:SB_RO @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_ro_block, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_f86f9f = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %4:ptr<storage, array<u32, 1024>, read> = access %2, 0u, 0u
+ %5:ptr<storage, u32, read> = access %4, 1u
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %5, 1u, 8u, 32u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixLoad_f86f9f
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/f9b989.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/f9b989.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f9b989.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/fa3c74.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/fa3c74.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/fa3c74.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/fa3c74.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fa3c74.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/fde5b5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/fde5b5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/fde5b5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/fde5b5.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fde5b5.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/00befb.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl
index 31307b3..99e6c58 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiply<TR: u8>(subgroup_matrix<left, u8, 8, 8>, subgroup_matrix<right, u8, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.dxc.hlsl
index d9f6617..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.fxc.hlsl
index d9f6617..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.glsl
index d9f6617..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.ir.dxc.hlsl
index d9f6617..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.ir.fxc.hlsl
index d9f6617..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.msl
index d9f6617..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/00befb.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.spvasm
index d9f6617..b59801c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiply_00befb() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(subgroup_matrix_left<u8, 8, 8>(), subgroup_matrix_right<u8, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_00befb(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<u8, 8, 8>, subgroup_matrix_right<u8, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✗ , subgroup_matrix<right, T, C, K> ✗ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✗ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 0u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_00befb = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<u8, 8, 8> = construct
+ %4:subgroup_matrix_right<u8, 8, 8> = construct
+ %5:subgroup_matrix_result<u8, 8, 8> = construct
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 0u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiply_00befb
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.wgsl
index d9f6617..86292a1 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/00befb.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiply_00befb() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(subgroup_matrix_left<u8, 8, 8>(), subgroup_matrix_right<u8, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_00befb(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl
index 8a4ab89..a1d8991 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiply<TR: u8>(subgroup_matrix<left, f32, 8, 8>, subgroup_matrix<right, f32, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.dxc.hlsl
index 26f48bd..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.fxc.hlsl
index 26f48bd..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.glsl
index 26f48bd..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.ir.dxc.hlsl
index 26f48bd..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.ir.fxc.hlsl
index 26f48bd..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.msl
index 26f48bd..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/0a2c0c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.spvasm
index 26f48bd..a2f4d67 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiply_0a2c0c() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(subgroup_matrix_left<f32, 8, 8>(), subgroup_matrix_right<f32, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_0a2c0c(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<f32, 8, 8>, subgroup_matrix_right<f32, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 0u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_0a2c0c = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<f32, 8, 8> = construct
+ %4:subgroup_matrix_right<f32, 8, 8> = construct
+ %5:subgroup_matrix_result<u8, 8, 8> = construct
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 0u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiply_0a2c0c
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.wgsl
index 26f48bd..9663c18 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/0a2c0c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiply_0a2c0c() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(subgroup_matrix_left<f32, 8, 8>(), subgroup_matrix_right<f32, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_0a2c0c(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/2c905b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl
index 264d2e4..88e26ce 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiply<TR: u8>(subgroup_matrix<left, i8, 8, 8>, subgroup_matrix<right, i8, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.dxc.hlsl
index e5b570d..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.fxc.hlsl
index e5b570d..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.glsl
index e5b570d..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.ir.dxc.hlsl
index e5b570d..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.ir.fxc.hlsl
index e5b570d..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.msl
index e5b570d..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/2d1894.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.spvasm
index e5b570d..08c4702 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiply_2d1894() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(subgroup_matrix_left<i8, 8, 8>(), subgroup_matrix_right<i8, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_2d1894(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<i8, 8, 8>, subgroup_matrix_right<i8, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✗ , subgroup_matrix<right, T, C, K> ✗ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✗ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 3u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_2d1894 = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<i8, 8, 8> = construct
+ %4:subgroup_matrix_right<i8, 8, 8> = construct
+ %5:subgroup_matrix_result<u8, 8, 8> = construct
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 3u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiply_2d1894
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.wgsl
index e5b570d..c1411b3 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2d1894.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiply_2d1894() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(subgroup_matrix_left<i8, 8, 8>(), subgroup_matrix_right<i8, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_2d1894(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl
index cd9f010..cef7d49 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiply<TR: u8>(subgroup_matrix<left, u32, 8, 8>, subgroup_matrix<right, u32, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.dxc.hlsl
index 74d1365..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.fxc.hlsl
index 74d1365..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.glsl
index 74d1365..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.ir.dxc.hlsl
index 74d1365..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.ir.fxc.hlsl
index 74d1365..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.msl
index 74d1365..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/3c0a8c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.spvasm
index 74d1365..31f90c8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiply_3c0a8c() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(subgroup_matrix_left<u32, 8, 8>(), subgroup_matrix_right<u32, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_3c0a8c(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<u32, 8, 8>, subgroup_matrix_right<u32, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 0u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_3c0a8c = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<u32, 8, 8> = construct
+ %4:subgroup_matrix_right<u32, 8, 8> = construct
+ %5:subgroup_matrix_result<u8, 8, 8> = construct
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 0u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiply_3c0a8c
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.wgsl
index 74d1365..da58e59 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3c0a8c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiply_3c0a8c() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(subgroup_matrix_left<u32, 8, 8>(), subgroup_matrix_right<u32, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_3c0a8c(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/42abed.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl
index cd38ef2..ccf773c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiply<TR: i8>(subgroup_matrix<left, i8, 8, 8>, subgroup_matrix<right, i8, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.dxc.hlsl
index 8342a95..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.fxc.hlsl
index 8342a95..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.glsl
index 8342a95..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.ir.dxc.hlsl
index 8342a95..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.ir.fxc.hlsl
index 8342a95..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.msl
index 8342a95..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/43ad22.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.spvasm
index 8342a95..9b52e66 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiply_43ad22() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(subgroup_matrix_left<i8, 8, 8>(), subgroup_matrix_right<i8, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_43ad22(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<i8, 8, 8>, subgroup_matrix_right<i8, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✗ , subgroup_matrix<right, T, C, K> ✗ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✗ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 15u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_43ad22 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<i8, 8, 8> = construct
+ %4:subgroup_matrix_right<i8, 8, 8> = construct
+ %5:subgroup_matrix_result<i8, 8, 8> = construct
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 15u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiply_43ad22
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.wgsl
index 8342a95..2f900ee 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/43ad22.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiply_43ad22() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(subgroup_matrix_left<i8, 8, 8>(), subgroup_matrix_right<i8, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_43ad22(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl
index 8930bc7..e5ab168 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiply<TR: i8>(subgroup_matrix<left, u32, 8, 8>, subgroup_matrix<right, u32, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.dxc.hlsl
index 4c54f0a..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.fxc.hlsl
index 4c54f0a..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.glsl
index 4c54f0a..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.ir.dxc.hlsl
index 4c54f0a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.ir.fxc.hlsl
index 4c54f0a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.msl
index 4c54f0a..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/575915.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.spvasm
index 4c54f0a..aefff11 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiply_575915() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(subgroup_matrix_left<u32, 8, 8>(), subgroup_matrix_right<u32, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_575915(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<u32, 8, 8>, subgroup_matrix_right<u32, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 12u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_575915 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<u32, 8, 8> = construct
+ %4:subgroup_matrix_right<u32, 8, 8> = construct
+ %5:subgroup_matrix_result<i8, 8, 8> = construct
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 12u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiply_575915
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.wgsl
index 4c54f0a..d875fe5 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/575915.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiply_575915() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(subgroup_matrix_left<u32, 8, 8>(), subgroup_matrix_right<u32, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_575915(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl
index f93212b..1aaa315 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiply<TR: i8>(subgroup_matrix<left, f32, 8, 8>, subgroup_matrix<right, f32, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.dxc.hlsl
index b762f5e..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.fxc.hlsl
index b762f5e..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.glsl
index b762f5e..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.ir.dxc.hlsl
index b762f5e..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.ir.fxc.hlsl
index b762f5e..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.msl
index b762f5e..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/654d63.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.spvasm
index b762f5e..16a6129 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiply_654d63() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(subgroup_matrix_left<f32, 8, 8>(), subgroup_matrix_right<f32, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_654d63(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<f32, 8, 8>, subgroup_matrix_right<f32, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 12u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_654d63 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<f32, 8, 8> = construct
+ %4:subgroup_matrix_right<f32, 8, 8> = construct
+ %5:subgroup_matrix_result<i8, 8, 8> = construct
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 12u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiply_654d63
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.wgsl
index b762f5e..8554644 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/654d63.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiply_654d63() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(subgroup_matrix_left<f32, 8, 8>(), subgroup_matrix_right<f32, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_654d63(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/72085d.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl
index 57424d8..8343b03 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl
@@ -41,7 +41,7 @@
enable chromium_experimental_subgroup_matrix;
enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiply<TR: u8>(subgroup_matrix<left, f16, 8, 8>, subgroup_matrix<right, f16, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.dxc.hlsl
index 34011b4..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.fxc.hlsl
index 34011b4..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.glsl
index 34011b4..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.ir.dxc.hlsl
index 34011b4..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.ir.fxc.hlsl
index 34011b4..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.msl
index 34011b4..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/72085d.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.spvasm
index 34011b4..f35da6d 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.spvasm
@@ -1,12 +1,77 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiply_72085d() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(subgroup_matrix_left<f16, 8, 8>(), subgroup_matrix_right<f16, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_72085d(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<f16, 8, 8>, subgroup_matrix_right<f16, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 0u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_72085d = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<f16, 8, 8> = construct
+ %4:subgroup_matrix_right<f16, 8, 8> = construct
+ %5:subgroup_matrix_result<u8, 8, 8> = construct
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 0u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiply_72085d
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.wgsl
index 34011b4..0b5a865 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl.expected.wgsl
@@ -1,12 +1,16 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+enable f16;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/72085d.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiply_72085d() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(subgroup_matrix_left<f16, 8, 8>(), subgroup_matrix_right<f16, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_72085d(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/8744bd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/8c4df3.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl
index 2365abd..f960ff8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl
@@ -41,7 +41,7 @@
enable chromium_experimental_subgroup_matrix;
enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiply<TR: i8>(subgroup_matrix<left, f16, 8, 8>, subgroup_matrix<right, f16, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.dxc.hlsl
index a5055cb..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.fxc.hlsl
index a5055cb..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.glsl
index a5055cb..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.ir.dxc.hlsl
index a5055cb..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.ir.fxc.hlsl
index a5055cb..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.msl
index a5055cb..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/8c4df3.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.spvasm
index a5055cb..da4608e 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.spvasm
@@ -1,12 +1,77 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiply_8c4df3() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(subgroup_matrix_left<f16, 8, 8>(), subgroup_matrix_right<f16, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_8c4df3(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<f16, 8, 8>, subgroup_matrix_right<f16, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 12u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_8c4df3 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<f16, 8, 8> = construct
+ %4:subgroup_matrix_right<f16, 8, 8> = construct
+ %5:subgroup_matrix_result<i8, 8, 8> = construct
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 12u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiply_8c4df3
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.wgsl
index a5055cb..69d4b7e 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl.expected.wgsl
@@ -1,12 +1,16 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+enable f16;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c4df3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiply_8c4df3() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(subgroup_matrix_left<f16, 8, 8>(), subgroup_matrix_right<f16, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_8c4df3(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/bf2e54.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/c26fb9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/d755b4.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl
index 5a8f156..7ceb687 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiply<TR: i8>(subgroup_matrix<left, u8, 8, 8>, subgroup_matrix<right, u8, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.dxc.hlsl
index 3995c13..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.fxc.hlsl
index 3995c13..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.glsl
index 3995c13..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.ir.dxc.hlsl
index 3995c13..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.ir.fxc.hlsl
index 3995c13..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.msl
index 3995c13..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/d755b4.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.spvasm
index 3995c13..c167cdc 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiply_d755b4() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(subgroup_matrix_left<u8, 8, 8>(), subgroup_matrix_right<u8, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_d755b4(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<u8, 8, 8>, subgroup_matrix_right<u8, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✗ , subgroup_matrix<right, T, C, K> ✗ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✗ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 12u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_d755b4 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<u8, 8, 8> = construct
+ %4:subgroup_matrix_right<u8, 8, 8> = construct
+ %5:subgroup_matrix_result<i8, 8, 8> = construct
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 12u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiply_d755b4
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.wgsl
index 3995c13..61b7430 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/d755b4.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiply_d755b4() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(subgroup_matrix_left<u8, 8, 8>(), subgroup_matrix_right<u8, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_d755b4(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/db4ee8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/e73d14.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl
index 8fbc4e8..49576ae 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiply<TR: i8>(subgroup_matrix<left, i32, 8, 8>, subgroup_matrix<right, i32, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.dxc.hlsl
index 3f073d8..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.fxc.hlsl
index 3f073d8..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.glsl
index 3f073d8..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.ir.dxc.hlsl
index 3f073d8..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.ir.fxc.hlsl
index 3f073d8..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.msl
index 3f073d8..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/e73d14.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.spvasm
index 3f073d8..4594324 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiply_e73d14() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(subgroup_matrix_left<i32, 8, 8>(), subgroup_matrix_right<i32, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_e73d14(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<i32, 8, 8>, subgroup_matrix_right<i32, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 15u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_e73d14 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<i32, 8, 8> = construct
+ %4:subgroup_matrix_right<i32, 8, 8> = construct
+ %5:subgroup_matrix_result<i8, 8, 8> = construct
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 15u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiply_e73d14
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.wgsl
index 3f073d8..8b681be 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/e73d14.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiply_e73d14() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(subgroup_matrix_left<i32, 8, 8>(), subgroup_matrix_right<i32, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_e73d14(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl
index 1426a17..e8a2cb2 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiply<TR: u8>(subgroup_matrix<left, i32, 8, 8>, subgroup_matrix<right, i32, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.dxc.hlsl
index cab5697..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.fxc.hlsl
index cab5697..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.glsl
index cab5697..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.ir.dxc.hlsl
index cab5697..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.ir.fxc.hlsl
index cab5697..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.msl
index cab5697..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/f2ffd8.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.spvasm
index cab5697..f49e167 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiply_f2ffd8() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(subgroup_matrix_left<i32, 8, 8>(), subgroup_matrix_right<i32, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_f2ffd8(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<i32, 8, 8>, subgroup_matrix_right<i32, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 3u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_f2ffd8 = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<i32, 8, 8> = construct
+ %4:subgroup_matrix_right<i32, 8, 8> = construct
+ %5:subgroup_matrix_result<u8, 8, 8> = construct
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 3u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiply_f2ffd8
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.wgsl
index cab5697..97a6807 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f2ffd8.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiply_f2ffd8() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(subgroup_matrix_left<i32, 8, 8>(), subgroup_matrix_right<i32, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_f2ffd8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/fa5318.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/052cba.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl
index 4118f2a..51e2d4f 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, u8, 8, 8>, subgroup_matrix<right, u8, 8, 8>, subgroup_matrix<result, u8, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.dxc.hlsl
index a6940c9..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.fxc.hlsl
index a6940c9..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.glsl
index a6940c9..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.ir.dxc.hlsl
index a6940c9..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.ir.fxc.hlsl
index a6940c9..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.msl
index a6940c9..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.spvasm
index a6940c9..7352df0 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_052cba() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<u8, 8, 8>(), subgroup_matrix_right<u8, 8, 8>(), subgroup_matrix_result<u8, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_052cba(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<u8, 8, 8>, subgroup_matrix_right<u8, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✗ , subgroup_matrix<right, T, C, K> ✗ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✗ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 0u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_052cba = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<u8, 8, 8> = construct
+ %4:subgroup_matrix_right<u8, 8, 8> = construct
+ %5:subgroup_matrix_result<u8, 8, 8> = construct
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 0u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_052cba
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.wgsl
index a6940c9..06d2d93e 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_052cba() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<u8, 8, 8>(), subgroup_matrix_right<u8, 8, 8>(), subgroup_matrix_result<u8, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_052cba(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/285f57.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl
index b873d50..2b06e26 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, i32, 8, 8>, subgroup_matrix<right, i32, 8, 8>, subgroup_matrix<result, u8, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.dxc.hlsl
index 7956d37..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.fxc.hlsl
index 7956d37..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.glsl
index 7956d37..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.ir.dxc.hlsl
index 7956d37..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.ir.fxc.hlsl
index 7956d37..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.msl
index 7956d37..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.spvasm
index 7956d37..a6d250f 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_285f57() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<i32, 8, 8>(), subgroup_matrix_right<i32, 8, 8>(), subgroup_matrix_result<u8, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_285f57(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<i32, 8, 8>, subgroup_matrix_right<i32, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 3u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_285f57 = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<i32, 8, 8> = construct
+ %4:subgroup_matrix_right<i32, 8, 8> = construct
+ %5:subgroup_matrix_result<u8, 8, 8> = construct
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 3u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_285f57
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.wgsl
index 7956d37..591579d 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_285f57() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<i32, 8, 8>(), subgroup_matrix_right<i32, 8, 8>(), subgroup_matrix_result<u8, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_285f57(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/539dfd.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl
index 6bcdcbe..86cc67a 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, u32, 8, 8>, subgroup_matrix<right, u32, 8, 8>, subgroup_matrix<result, i8, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.dxc.hlsl
index d00d49b..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.fxc.hlsl
index d00d49b..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.glsl
index d00d49b..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.ir.dxc.hlsl
index d00d49b..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.ir.fxc.hlsl
index d00d49b..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.msl
index d00d49b..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.spvasm
index d00d49b..98b2de8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_539dfd() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<u32, 8, 8>(), subgroup_matrix_right<u32, 8, 8>(), subgroup_matrix_result<i8, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_539dfd(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<u32, 8, 8>, subgroup_matrix_right<u32, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 12u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_539dfd = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<u32, 8, 8> = construct
+ %4:subgroup_matrix_right<u32, 8, 8> = construct
+ %5:subgroup_matrix_result<i8, 8, 8> = construct
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 12u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_539dfd
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.wgsl
index d00d49b..a716112 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_539dfd() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<u32, 8, 8>(), subgroup_matrix_right<u32, 8, 8>(), subgroup_matrix_result<i8, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_539dfd(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl
index 5865e42..d5dec8d 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, i8, 8, 8>, subgroup_matrix<right, i8, 8, 8>, subgroup_matrix<result, i8, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.dxc.hlsl
index c1aa042..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.fxc.hlsl
index c1aa042..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.glsl
index c1aa042..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.ir.dxc.hlsl
index c1aa042..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.ir.fxc.hlsl
index c1aa042..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.msl
index c1aa042..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.spvasm
index c1aa042..6aa6a52 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_60df98() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<i8, 8, 8>(), subgroup_matrix_right<i8, 8, 8>(), subgroup_matrix_result<i8, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_60df98(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<i8, 8, 8>, subgroup_matrix_right<i8, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✗ , subgroup_matrix<right, T, C, K> ✗ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✗ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 15u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_60df98 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<i8, 8, 8> = construct
+ %4:subgroup_matrix_right<i8, 8, 8> = construct
+ %5:subgroup_matrix_result<i8, 8, 8> = construct
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 15u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_60df98
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.wgsl
index c1aa042..26e8148 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_60df98() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<i8, 8, 8>(), subgroup_matrix_right<i8, 8, 8>(), subgroup_matrix_result<i8, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_60df98(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl
index aa7019c..2f905a1 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, u32, 8, 8>, subgroup_matrix<right, u32, 8, 8>, subgroup_matrix<result, u8, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.dxc.hlsl
index 6510d61..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.fxc.hlsl
index 6510d61..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.glsl
index 6510d61..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.ir.dxc.hlsl
index 6510d61..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.ir.fxc.hlsl
index 6510d61..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.msl
index 6510d61..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.spvasm
index 6510d61..9ec8be5 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_6373b2() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<u32, 8, 8>(), subgroup_matrix_right<u32, 8, 8>(), subgroup_matrix_result<u8, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_6373b2(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<u32, 8, 8>, subgroup_matrix_right<u32, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 0u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_6373b2 = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<u32, 8, 8> = construct
+ %4:subgroup_matrix_right<u32, 8, 8> = construct
+ %5:subgroup_matrix_result<u8, 8, 8> = construct
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 0u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_6373b2
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.wgsl
index 6510d61..034decb 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_6373b2() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<u32, 8, 8>(), subgroup_matrix_right<u32, 8, 8>(), subgroup_matrix_result<u8, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_6373b2(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/6dc794.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl
index 9c72687..c55bfd6 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, f32, 8, 8>, subgroup_matrix<right, f32, 8, 8>, subgroup_matrix<result, u8, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.dxc.hlsl
index 7404249..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.fxc.hlsl
index 7404249..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.glsl
index 7404249..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.ir.dxc.hlsl
index 7404249..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.ir.fxc.hlsl
index 7404249..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.msl
index 7404249..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.spvasm
index 7404249..d9802df 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_6dc794() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<f32, 8, 8>(), subgroup_matrix_right<f32, 8, 8>(), subgroup_matrix_result<u8, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_6dc794(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<f32, 8, 8>, subgroup_matrix_right<f32, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 0u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_6dc794 = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<f32, 8, 8> = construct
+ %4:subgroup_matrix_right<f32, 8, 8> = construct
+ %5:subgroup_matrix_result<u8, 8, 8> = construct
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 0u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_6dc794
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.wgsl
index 7404249..4136c74 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_6dc794() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<f32, 8, 8>(), subgroup_matrix_right<f32, 8, 8>(), subgroup_matrix_result<u8, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_6dc794(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/7243ef.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl
index 7212614..7d13821 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl
@@ -41,7 +41,7 @@
enable chromium_experimental_subgroup_matrix;
enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, f16, 8, 8>, subgroup_matrix<right, f16, 8, 8>, subgroup_matrix<result, u8, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.dxc.hlsl
index 7039f43..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.fxc.hlsl
index 7039f43..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.glsl
index 7039f43..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.ir.dxc.hlsl
index 7039f43..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.ir.fxc.hlsl
index 7039f43..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.msl
index 7039f43..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.spvasm
index 7039f43..25e9776 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.spvasm
@@ -1,12 +1,77 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_7243ef() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<f16, 8, 8>(), subgroup_matrix_right<f16, 8, 8>(), subgroup_matrix_result<u8, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_7243ef(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<f16, 8, 8>, subgroup_matrix_right<f16, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 0u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_7243ef = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<f16, 8, 8> = construct
+ %4:subgroup_matrix_right<f16, 8, 8> = construct
+ %5:subgroup_matrix_result<u8, 8, 8> = construct
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 0u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_7243ef
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.wgsl
index 7039f43..a5c2a22 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.wgsl
@@ -1,12 +1,16 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+enable f16;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_7243ef() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<f16, 8, 8>(), subgroup_matrix_right<f16, 8, 8>(), subgroup_matrix_result<u8, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_7243ef(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl
index 7f3a7ca..23b9465 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl
@@ -41,7 +41,7 @@
enable chromium_experimental_subgroup_matrix;
enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, f16, 8, 8>, subgroup_matrix<right, f16, 8, 8>, subgroup_matrix<result, i8, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.dxc.hlsl
index eb4fac428..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.fxc.hlsl
index eb4fac428..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.glsl
index eb4fac428..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.ir.dxc.hlsl
index eb4fac428..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.ir.fxc.hlsl
index eb4fac428..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.msl
index eb4fac428..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.spvasm
index eb4fac428..f430110 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.spvasm
@@ -1,12 +1,77 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_7e4ad3() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<f16, 8, 8>(), subgroup_matrix_right<f16, 8, 8>(), subgroup_matrix_result<i8, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_7e4ad3(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<f16, 8, 8>, subgroup_matrix_right<f16, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 12u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_7e4ad3 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<f16, 8, 8> = construct
+ %4:subgroup_matrix_right<f16, 8, 8> = construct
+ %5:subgroup_matrix_result<i8, 8, 8> = construct
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 12u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_7e4ad3
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.wgsl
index eb4fac428..e66a942 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.wgsl
@@ -1,12 +1,16 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+enable f16;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_7e4ad3() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<f16, 8, 8>(), subgroup_matrix_right<f16, 8, 8>(), subgroup_matrix_result<i8, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_7e4ad3(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl
index e4af44b..9719f4a 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, u8, 8, 8>, subgroup_matrix<right, u8, 8, 8>, subgroup_matrix<result, i8, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.dxc.hlsl
index f9d78cb..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.fxc.hlsl
index f9d78cb..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.glsl
index f9d78cb..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.ir.dxc.hlsl
index f9d78cb..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.ir.fxc.hlsl
index f9d78cb..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.msl
index f9d78cb..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.spvasm
index f9d78cb..3e1be51 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_8d3bc5() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<u8, 8, 8>(), subgroup_matrix_right<u8, 8, 8>(), subgroup_matrix_result<i8, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_8d3bc5(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<u8, 8, 8>, subgroup_matrix_right<u8, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✗ , subgroup_matrix<right, T, C, K> ✗ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✗ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 12u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_8d3bc5 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<u8, 8, 8> = construct
+ %4:subgroup_matrix_right<u8, 8, 8> = construct
+ %5:subgroup_matrix_result<i8, 8, 8> = construct
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 12u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_8d3bc5
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.wgsl
index f9d78cb..9fd78d0 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_8d3bc5() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<u8, 8, 8>(), subgroup_matrix_right<u8, 8, 8>(), subgroup_matrix_result<i8, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_8d3bc5(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl
index 90d8b0b..6bce50b 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, i8, 8, 8>, subgroup_matrix<right, i8, 8, 8>, subgroup_matrix<result, u8, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.dxc.hlsl
index 7f3ff00..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.fxc.hlsl
index 7f3ff00..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.glsl
index 7f3ff00..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.ir.dxc.hlsl
index 7f3ff00..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.ir.fxc.hlsl
index 7f3ff00..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.msl
index 7f3ff00..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.spvasm
index 7f3ff00..3211af5 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_8d9ee6() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<i8, 8, 8>(), subgroup_matrix_right<i8, 8, 8>(), subgroup_matrix_result<u8, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_8d9ee6(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<i8, 8, 8>, subgroup_matrix_right<i8, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✗ , subgroup_matrix<right, T, C, K> ✗ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✗ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 3u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_8d9ee6 = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<i8, 8, 8> = construct
+ %4:subgroup_matrix_right<i8, 8, 8> = construct
+ %5:subgroup_matrix_result<u8, 8, 8> = construct
+ %6:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 3u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_8d9ee6
+ %11:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, u32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.wgsl
index 7f3ff00..de02f5e 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_8d9ee6() -> subgroup_matrix_result<u8, 8, 8> {
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<i8, 8, 8>(), subgroup_matrix_right<i8, 8, 8>(), subgroup_matrix_result<u8, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_8d9ee6(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/c06703.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl
index 80ac5b3..9b49f9a 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, i32, 8, 8>, subgroup_matrix<right, i32, 8, 8>, subgroup_matrix<result, i8, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.dxc.hlsl
index 9356501..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.fxc.hlsl
index 9356501..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.glsl
index 9356501..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.ir.dxc.hlsl
index 9356501..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.ir.fxc.hlsl
index 9356501..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.msl
index 9356501..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.spvasm
index 9356501..b31c367 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_c06703() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<i32, 8, 8>(), subgroup_matrix_right<i32, 8, 8>(), subgroup_matrix_result<i8, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_c06703(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<i32, 8, 8>, subgroup_matrix_right<i32, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 15u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_c06703 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<i32, 8, 8> = construct
+ %4:subgroup_matrix_right<i32, 8, 8> = construct
+ %5:subgroup_matrix_result<i8, 8, 8> = construct
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 15u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_c06703
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.wgsl
index 9356501..e496ed0 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_c06703() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<i32, 8, 8>(), subgroup_matrix_right<i32, 8, 8>(), subgroup_matrix_result<i8, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_c06703(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl
index 67a7d15..440fecf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, f32, 8, 8>, subgroup_matrix<right, f32, 8, 8>, subgroup_matrix<result, i8, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.dxc.hlsl
index d78052a..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.fxc.hlsl
index d78052a..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.glsl
index d78052a..117d674 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.ir.dxc.hlsl
index d78052a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.ir.fxc.hlsl
index d78052a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.msl
index d78052a..2725cb8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.spvasm
index d78052a..bd6d855 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.spvasm
@@ -1,12 +1,76 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_cc4602() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<f32, 8, 8>(), subgroup_matrix_right<f32, 8, 8>(), subgroup_matrix_result<i8, 8, 8>());
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_cc4602(), false, 64);
+}
+
+Failed to generate SPIR-V: :14:43 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<f32, 8, 8>, subgroup_matrix_right<f32, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 12u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:25:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:21:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_cc4602 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<f32, 8, 8> = construct
+ %4:subgroup_matrix_right<f32, 8, 8> = construct
+ %5:subgroup_matrix_result<i8, 8, 8> = construct
+ %6:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %3, %4, %5, 12u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %6
+ %8:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %8
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %10:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_cc4602
+ %11:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %12:ptr<storage, i32, read_write> = access %11, 0u
+ %13:void = spirv.cooperative_matrix_store %12, %10, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.wgsl
index d78052a..dcb34ca 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.wgsl
@@ -1,12 +1,15 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_cc4602() -> subgroup_matrix_result<i8, 8, 8> {
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<f32, 8, 8>(), subgroup_matrix_right<f32, 8, 8>(), subgroup_matrix_result<i8, 8, 8>());
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_cc4602(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/0268e9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0268e9.wgsl.expected.dxc.hlsl
index 11ccbcc..54dfdd6 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/0268e9.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/0268e9.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<f32, 1024>;
fn subgroupMatrixStore_0268e9() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0268e9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0268e9.wgsl.expected.fxc.hlsl
index 754948b..debb047 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/0268e9.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/0268e9.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<f32, 1024>;
fn subgroupMatrixStore_0268e9() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0268e9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0268e9.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/0268e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/0268e9.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/0268e9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0268e9.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/0268e9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/0268e9.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/0268e9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0268e9.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/0268e9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/0268e9.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/0413f0.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0413f0.wgsl.expected.dxc.hlsl
index 8b68b1e..e07b499 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/0413f0.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/0413f0.wgsl.expected.dxc.hlsl
@@ -7,7 +7,7 @@
var<workgroup> arg_0 : array<f16, 1024>;
fn subgroupMatrixStore_0413f0() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0413f0.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0413f0.wgsl.expected.fxc.hlsl
index f04120b..171354f 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/0413f0.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/0413f0.wgsl.expected.fxc.hlsl
@@ -7,7 +7,7 @@
var<workgroup> arg_0 : array<f16, 1024>;
fn subgroupMatrixStore_0413f0() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0413f0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0413f0.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/0413f0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/0413f0.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/0413f0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0413f0.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/0413f0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/0413f0.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/0413f0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0413f0.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/0413f0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/0413f0.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/1383a5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl.expected.dxc.hlsl
index 8d8f26d..340bb4e 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl.expected.dxc.hlsl
@@ -11,7 +11,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_1383a5() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -21,13 +21,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl:51:3 error: no matching call to 'subgroupMatrixStore(array<f16, 1024>, u32, subgroup_matrix_right<f16, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f16, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl.expected.fxc.hlsl
index ac562d3..4256211 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl.expected.fxc.hlsl
@@ -11,7 +11,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_1383a5() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -21,13 +21,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl:51:3 error: no matching call to 'subgroupMatrixStore(array<f16, 1024>, u32, subgroup_matrix_right<f16, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f16, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/1383a5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/1383a5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/1383a5.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/1433f9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.dxc.hlsl
index afab3ec..6eae7f4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<i32, 1024>;
fn subgroupMatrixStore_1433f9() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.fxc.hlsl
index 5853c93..721dfe6 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<i32, 1024>;
fn subgroupMatrixStore_1433f9() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/1433f9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/1433f9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/1433f9.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/1433f9.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/152780.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl
new file mode 100644
index 0000000..31d6c8b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.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>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, runtime_array<u32>, read_write>, u32, subgroup_matrix<result, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_152780() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<u8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_152780();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/152780.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/152780.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/152780.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/152780.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl.expected.spvasm
new file mode 100644
index 0000000..ac955c4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/152780.wgsl.expected.spvasm
@@ -0,0 +1,71 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_152780() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_152780();
+}
+
+Failed to generate SPIR-V: :22:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %12:void = spirv.cooperative_matrix_store %11, %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+$B1: { # root
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_152780 = func():void {
+ $B2: {
+ %3:ptr<storage, array<u32>, read_write> = access %sb_rw, 0u
+ %4:subgroup_matrix_result<u8, 8, 8> = construct
+ %5:u32 = spirv.array_length %sb_rw, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %11:ptr<storage, u32, read_write> = access %3, 1u
+ %12:void = spirv.cooperative_matrix_store %11, %4, 1u, 8u, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %14:void = call %subgroupMatrixStore_152780
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl
new file mode 100644
index 0000000..563e483
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.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>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, runtime_array<i32>, read_write>, u32, subgroup_matrix<left, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_2025c4() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<i8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_2025c4();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/2025c4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/2025c4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/2025c4.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/2025c4.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl.expected.spvasm
new file mode 100644
index 0000000..d2f3387
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2025c4.wgsl.expected.spvasm
@@ -0,0 +1,71 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_2025c4() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_2025c4();
+}
+
+Failed to generate SPIR-V: :22:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_left<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %12:void = spirv.cooperative_matrix_store %11, %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+$B1: { # root
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_2025c4 = func():void {
+ $B2: {
+ %3:ptr<storage, array<i32>, read_write> = access %sb_rw, 0u
+ %4:subgroup_matrix_left<i8, 8, 8> = construct
+ %5:u32 = spirv.array_length %sb_rw, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %11:ptr<storage, i32, read_write> = access %3, 1u
+ %12:void = spirv.cooperative_matrix_store %11, %4, 1u, 8u, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %14:void = call %subgroupMatrixStore_2025c4
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.dxc.hlsl
index ca27dba..2ed259e 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.dxc.hlsl
@@ -11,7 +11,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_22077b() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -21,13 +21,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl:51:3 error: no matching call to 'subgroupMatrixStore(array<f16, 1024>, u32, subgroup_matrix_result<f16, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f16, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.fxc.hlsl
index b8c6c44..b514d28 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.fxc.hlsl
@@ -11,7 +11,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_22077b() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -21,13 +21,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl:51:3 error: no matching call to 'subgroupMatrixStore(array<f16, 1024>, u32, subgroup_matrix_result<f16, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f16, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/22077b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/22077b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/22077b.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/2d78d3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/2d78d3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/2d78d3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/2d78d3.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/3ea76e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/3ea76e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/3ea76e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/3ea76e.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/43b7fd.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.wgsl
new file mode 100644
index 0000000..846ef5b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.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, 1024>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<u32, 1024>, read_write>, u32, subgroup_matrix<right, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_43b7fd() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_right<u8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_43b7fd();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..6691c69
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.wgsl.expected.dxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_43b7fd() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_43b7fd();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.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/43b7fd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..6691c69
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.wgsl.expected.fxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_43b7fd() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_43b7fd();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.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/43b7fd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/43b7fd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/43b7fd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/43b7fd.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/43b7fd.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.wgsl.expected.spvasm
new file mode 100644
index 0000000..751b3c6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/43b7fd.wgsl.expected.spvasm
@@ -0,0 +1,72 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_43b7fd() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_43b7fd();
+}
+
+Failed to generate SPIR-V: :9:15 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<workgroup, u32, read_write>, subgroup_matrix_right<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %5:void = spirv.cooperative_matrix_store %4, %3, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:6:3 note: in block
+ $B2: {
+ ^^^
+
+note: # Disassembly
+$B1: { # root
+ %arg_0:ptr<workgroup, array<u32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixStore_43b7fd = func():void {
+ $B2: {
+ %3:subgroup_matrix_right<u8, 8, 8> = construct
+ %4:ptr<workgroup, u32, read_write> = access %arg_0, 1u
+ %5:void = spirv.cooperative_matrix_store %4, %3, 1u, 8u, 32u
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B3: {
+ loop [i: $B4, b: $B5, c: $B6] { # loop_1
+ $B4: { # initializer
+ next_iteration %tint_local_index # -> $B5
+ }
+ $B5 (%idx:u32): { # body
+ %9:bool = gte %idx, 1024u
+ if %9 [t: $B7] { # if_1
+ $B7: { # true
+ exit_loop # loop_1
+ }
+ }
+ %10:ptr<workgroup, u32, read_write> = access %arg_0, %idx
+ store %10, 0u
+ continue # -> $B6
+ }
+ $B6: { # continuing
+ %11:u32 = add %idx, 1u
+ next_iteration %11 # -> $B5
+ }
+ }
+ %12:void = workgroupBarrier
+ %13:void = call %subgroupMatrixStore_43b7fd
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.wgsl
new file mode 100644
index 0000000..a468cbd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.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, 1024>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<i32, 1024>, read_write>, u32, subgroup_matrix<right, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_443b6c() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_right<i8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_443b6c();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..71c6d45
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_443b6c() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_443b6c();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.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/443b6c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..71c6d45
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_443b6c() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_443b6c();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.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/443b6c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/443b6c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/443b6c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/443b6c.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/443b6c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.wgsl.expected.spvasm
new file mode 100644
index 0000000..691ea50
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/443b6c.wgsl.expected.spvasm
@@ -0,0 +1,72 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_443b6c() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_443b6c();
+}
+
+Failed to generate SPIR-V: :9:15 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<workgroup, i32, read_write>, subgroup_matrix_right<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %5:void = spirv.cooperative_matrix_store %4, %3, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:6:3 note: in block
+ $B2: {
+ ^^^
+
+note: # Disassembly
+$B1: { # root
+ %arg_0:ptr<workgroup, array<i32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixStore_443b6c = func():void {
+ $B2: {
+ %3:subgroup_matrix_right<i8, 8, 8> = construct
+ %4:ptr<workgroup, i32, read_write> = access %arg_0, 1u
+ %5:void = spirv.cooperative_matrix_store %4, %3, 1u, 8u, 32u
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B3: {
+ loop [i: $B4, b: $B5, c: $B6] { # loop_1
+ $B4: { # initializer
+ next_iteration %tint_local_index # -> $B5
+ }
+ $B5 (%idx:u32): { # body
+ %9:bool = gte %idx, 1024u
+ if %9 [t: $B7] { # if_1
+ $B7: { # true
+ exit_loop # loop_1
+ }
+ }
+ %10:ptr<workgroup, i32, read_write> = access %arg_0, %idx
+ store %10, 0i
+ continue # -> $B6
+ }
+ $B6: { # continuing
+ %11:u32 = add %idx, 1u
+ next_iteration %11 # -> $B5
+ }
+ }
+ %12:void = workgroupBarrier
+ %13:void = call %subgroupMatrixStore_443b6c
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.dxc.hlsl
index 3cd598e..f0e4b30 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.dxc.hlsl
@@ -7,7 +7,7 @@
var<workgroup> arg_0 : array<f16, 1024>;
fn subgroupMatrixStore_45de0c() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.fxc.hlsl
index be3441f..0e93278 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.fxc.hlsl
@@ -7,7 +7,7 @@
var<workgroup> arg_0 : array<f16, 1024>;
fn subgroupMatrixStore_45de0c() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/45de0c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/45de0c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/45de0c.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/476cdf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/476cdf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/476cdf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/476cdf.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/47cd26.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.dxc.hlsl
index fb31aae..114011d 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.dxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_47cd26() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_left<i32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<i32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.fxc.hlsl
index 635531c..ee1770b 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.fxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_47cd26() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_left<i32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<i32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/47cd26.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/47cd26.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/47cd26.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/47cd26.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/4980a5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.dxc.hlsl
index c39eb85..bbb0f30 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.dxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_4980a5() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_result<u32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<u32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.fxc.hlsl
index b1a394a..c1e6530 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.fxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_4980a5() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_result<u32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<u32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/4980a5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/4980a5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/4980a5.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/4980a5.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/543411.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/543411.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/543411.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/60099d.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl
new file mode 100644
index 0000000..f132c40
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.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, 1024>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<i32, 1024>, read_write>, u32, subgroup_matrix<result, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_60099d() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<i8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_60099d();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3be4b6c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl.expected.dxc.hlsl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_60099d() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_60099d();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_result<i8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<i8, 8, 8>(), true, 8u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..3be4b6c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl.expected.fxc.hlsl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_60099d() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_60099d();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_result<i8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<i8, 8, 8>(), true, 8u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/60099d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/60099d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/60099d.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/60099d.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl.expected.spvasm
new file mode 100644
index 0000000..6b6bd06
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/60099d.wgsl.expected.spvasm
@@ -0,0 +1,64 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_60099d() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_60099d();
+}
+
+Failed to generate SPIR-V: :18:15 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:void = spirv.cooperative_matrix_store %5, %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:14:3 note: in block
+ $B2: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_60099d = func():void {
+ $B2: {
+ %3:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u, 0u
+ %4:subgroup_matrix_result<i8, 8, 8> = construct
+ %5:ptr<storage, i32, read_write> = access %3, 1u
+ %6:void = spirv.cooperative_matrix_store %5, %4, 1u, 8u, 32u
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %8:void = call %subgroupMatrixStore_60099d
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.dxc.hlsl
index a686185..1329518 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<u32, 1024>;
fn subgroupMatrixStore_62c1b6() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.fxc.hlsl
index e143e20..9c04536 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<u32, 1024>;
fn subgroupMatrixStore_62c1b6() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/62c1b6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/62c1b6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/62c1b6.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/62c1b6.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/6578da.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.dxc.hlsl
index 0069ddd..c388423 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<i32, 1024>;
fn subgroupMatrixStore_6578da() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.fxc.hlsl
index c15d207..4751d05 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<i32, 1024>;
fn subgroupMatrixStore_6578da() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/6578da.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/6578da.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/6578da.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/6578da.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/6d8de7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/6d8de7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/6d8de7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/716ef7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.dxc.hlsl
index e02047d..f3a62cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<u32, 1024>;
fn subgroupMatrixStore_716ef7() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.fxc.hlsl
index 4e57231..99b1b44 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<u32, 1024>;
fn subgroupMatrixStore_716ef7() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/716ef7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/716ef7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/716ef7.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/716ef7.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/72f3af.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.dxc.hlsl
index 7a27eb3..81958d9 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.dxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_72f3af() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_right<u32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<u32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.fxc.hlsl
index 7e12a99..f8bb8f1 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.fxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_72f3af() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_right<u32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<u32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/72f3af.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/72f3af.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/72f3af.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/72f3af.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/840822.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/840822.wgsl.expected.dxc.hlsl
index 31e9da9..5ee7c03 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/840822.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/840822.wgsl.expected.dxc.hlsl
@@ -7,7 +7,7 @@
var<workgroup> arg_0 : array<f16, 1024>;
fn subgroupMatrixStore_840822() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/840822.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/840822.wgsl.expected.fxc.hlsl
index cf52b43..a6af02f 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/840822.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/840822.wgsl.expected.fxc.hlsl
@@ -7,7 +7,7 @@
var<workgroup> arg_0 : array<f16, 1024>;
fn subgroupMatrixStore_840822() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/840822.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/840822.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/840822.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/840822.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/840822.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/840822.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/840822.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/840822.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/840822.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/840822.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/840822.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/840822.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/85667d.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl
new file mode 100644
index 0000000..6b27ecc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.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>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, runtime_array<i32>, read_write>, u32, subgroup_matrix<right, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_85667d() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<i8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_85667d();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/85667d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/85667d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/85667d.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/85667d.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl.expected.spvasm
new file mode 100644
index 0000000..21e6c66
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/85667d.wgsl.expected.spvasm
@@ -0,0 +1,71 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_85667d() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_85667d();
+}
+
+Failed to generate SPIR-V: :22:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_right<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %12:void = spirv.cooperative_matrix_store %11, %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+$B1: { # root
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_85667d = func():void {
+ $B2: {
+ %3:ptr<storage, array<i32>, read_write> = access %sb_rw, 0u
+ %4:subgroup_matrix_right<i8, 8, 8> = construct
+ %5:u32 = spirv.array_length %sb_rw, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %11:ptr<storage, i32, read_write> = access %3, 1u
+ %12:void = spirv.cooperative_matrix_store %11, %4, 1u, 8u, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %14:void = call %subgroupMatrixStore_85667d
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.dxc.hlsl
index 0d63c09..25ebddc 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<u32, 1024>;
fn subgroupMatrixStore_865820() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.fxc.hlsl
index 20c5225..018e765 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<u32, 1024>;
fn subgroupMatrixStore_865820() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/865820.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/865820.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/865820.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/865820.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/8a88da.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.wgsl
new file mode 100644
index 0000000..029d891
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.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, 1024>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<u32, 1024>, read_write>, u32, subgroup_matrix<result, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_8a88da() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_result<u8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_8a88da();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..08fc28b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.wgsl.expected.dxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_8a88da() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_8a88da();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.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/8a88da.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..08fc28b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.wgsl.expected.fxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_8a88da() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_8a88da();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.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/8a88da.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/8a88da.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/8a88da.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/8a88da.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/8a88da.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.wgsl.expected.spvasm
new file mode 100644
index 0000000..9c790fa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a88da.wgsl.expected.spvasm
@@ -0,0 +1,72 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_8a88da() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_8a88da();
+}
+
+Failed to generate SPIR-V: :9:15 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<workgroup, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %5:void = spirv.cooperative_matrix_store %4, %3, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:6:3 note: in block
+ $B2: {
+ ^^^
+
+note: # Disassembly
+$B1: { # root
+ %arg_0:ptr<workgroup, array<u32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixStore_8a88da = func():void {
+ $B2: {
+ %3:subgroup_matrix_result<u8, 8, 8> = construct
+ %4:ptr<workgroup, u32, read_write> = access %arg_0, 1u
+ %5:void = spirv.cooperative_matrix_store %4, %3, 1u, 8u, 32u
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B3: {
+ loop [i: $B4, b: $B5, c: $B6] { # loop_1
+ $B4: { # initializer
+ next_iteration %tint_local_index # -> $B5
+ }
+ $B5 (%idx:u32): { # body
+ %9:bool = gte %idx, 1024u
+ if %9 [t: $B7] { # if_1
+ $B7: { # true
+ exit_loop # loop_1
+ }
+ }
+ %10:ptr<workgroup, u32, read_write> = access %arg_0, %idx
+ store %10, 0u
+ continue # -> $B6
+ }
+ $B6: { # continuing
+ %11:u32 = add %idx, 1u
+ next_iteration %11 # -> $B5
+ }
+ }
+ %12:void = workgroupBarrier
+ %13:void = call %subgroupMatrixStore_8a88da
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/8c59ed.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/8c59ed.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/8c59ed.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/9991c3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.dxc.hlsl
index 7b430ed..1148844 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.dxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_9991c3() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_right<i32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<i32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.fxc.hlsl
index d6a33a5..1aae984 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.fxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_9991c3() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_right<i32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<i32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/9991c3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/9991c3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/9991c3.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9991c3.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/9b9975.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl
new file mode 100644
index 0000000..385454a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.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, 1024>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<u32, 1024>, read_write>, u32, subgroup_matrix<left, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_9b9975() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<u8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9b9975();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c84f780
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl.expected.dxc.hlsl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9b9975() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9b9975();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_left<u8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<u8, 8, 8>(), true, 8u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c84f780
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl.expected.fxc.hlsl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9b9975() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9b9975();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_left<u8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<u8, 8, 8>(), true, 8u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9b9975.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9b9975.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9b9975.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9b9975.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl.expected.spvasm
new file mode 100644
index 0000000..bc469fd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9b9975.wgsl.expected.spvasm
@@ -0,0 +1,64 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9b9975() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9b9975();
+}
+
+Failed to generate SPIR-V: :18:15 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_left<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:void = spirv.cooperative_matrix_store %5, %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:14:3 note: in block
+ $B2: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_9b9975 = func():void {
+ $B2: {
+ %3:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u, 0u
+ %4:subgroup_matrix_left<u8, 8, 8> = construct
+ %5:ptr<storage, u32, read_write> = access %3, 1u
+ %6:void = spirv.cooperative_matrix_store %5, %4, 1u, 8u, 32u
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %8:void = call %subgroupMatrixStore_9b9975
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.dxc.hlsl
index 0daa2c6..f3fdbe3 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<f32, 1024>;
fn subgroupMatrixStore_a3ed32() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.fxc.hlsl
index 2a7b70d..90c7c1a 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<f32, 1024>;
fn subgroupMatrixStore_a3ed32() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/a3ed32.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/a3ed32.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a3ed32.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/a50ea0.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl.expected.dxc.hlsl
index 4904d8d..d417f80 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl.expected.dxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_a50ea0() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<f32, 1024>, u32, subgroup_matrix_right<f32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl.expected.fxc.hlsl
index 3090797..0e48410 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl.expected.fxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_a50ea0() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<f32, 1024>, u32, subgroup_matrix_right<f32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/a50ea0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/a50ea0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50ea0.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/a50fc4.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl
new file mode 100644
index 0000000..a47257b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.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>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, runtime_array<u32>, read_write>, u32, subgroup_matrix<right, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_a50fc4() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<u8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_a50fc4();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/a50fc4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/a50fc4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/a50fc4.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/a50fc4.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl.expected.spvasm
new file mode 100644
index 0000000..e9d06fb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/a50fc4.wgsl.expected.spvasm
@@ -0,0 +1,71 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_a50fc4() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_a50fc4();
+}
+
+Failed to generate SPIR-V: :22:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_right<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %12:void = spirv.cooperative_matrix_store %11, %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+$B1: { # root
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_a50fc4 = func():void {
+ $B2: {
+ %3:ptr<storage, array<u32>, read_write> = access %sb_rw, 0u
+ %4:subgroup_matrix_right<u8, 8, 8> = construct
+ %5:u32 = spirv.array_length %sb_rw, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %11:ptr<storage, u32, read_write> = access %3, 1u
+ %12:void = spirv.cooperative_matrix_store %11, %4, 1u, 8u, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %14:void = call %subgroupMatrixStore_a50fc4
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.dxc.hlsl
index 9932f83..d15d7c7 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.dxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_acb4b7() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<f32, 1024>, u32, subgroup_matrix_result<f32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.fxc.hlsl
index dd31e24..1f62019 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.fxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_acb4b7() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<f32, 1024>, u32, subgroup_matrix_result<f32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/acb4b7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/acb4b7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/acb4b7.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/adbc3e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/adbc3e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/adbc3e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/bb2478.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/bb2478.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/bb2478.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/bb5d49.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/bb5d49.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/bb5d49.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/bfe106.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/bfe106.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/bfe106.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/c18bf3.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl
new file mode 100644
index 0000000..a05c791
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.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, 1024>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<u32, 1024>, read_write>, u32, subgroup_matrix<right, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_c18bf3() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<u8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c18bf3();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a7b88cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_c18bf3() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c18bf3();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_right<u8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<u8, 8, 8>(), true, 8u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a7b88cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_c18bf3() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c18bf3();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_right<u8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<u8, 8, 8>(), true, 8u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c18bf3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c18bf3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c18bf3.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c18bf3.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl.expected.spvasm
new file mode 100644
index 0000000..790e521
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c18bf3.wgsl.expected.spvasm
@@ -0,0 +1,64 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_c18bf3() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c18bf3();
+}
+
+Failed to generate SPIR-V: :18:15 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_right<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:void = spirv.cooperative_matrix_store %5, %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:14:3 note: in block
+ $B2: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_c18bf3 = func():void {
+ $B2: {
+ %3:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u, 0u
+ %4:subgroup_matrix_right<u8, 8, 8> = construct
+ %5:ptr<storage, u32, read_write> = access %3, 1u
+ %6:void = spirv.cooperative_matrix_store %5, %4, 1u, 8u, 32u
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %8:void = call %subgroupMatrixStore_c18bf3
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.wgsl
new file mode 100644
index 0000000..4271f9a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.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, 1024>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<i32, 1024>, read_write>, u32, subgroup_matrix<left, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_c266d0() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_left<i8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c266d0();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..96a1a77
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.wgsl.expected.dxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_c266d0() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c266d0();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.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/c266d0.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..96a1a77
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.wgsl.expected.fxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_c266d0() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c266d0();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.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/c266d0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c266d0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c266d0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c266d0.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c266d0.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.wgsl.expected.spvasm
new file mode 100644
index 0000000..744838d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c266d0.wgsl.expected.spvasm
@@ -0,0 +1,72 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_c266d0() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c266d0();
+}
+
+Failed to generate SPIR-V: :9:15 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<workgroup, i32, read_write>, subgroup_matrix_left<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %5:void = spirv.cooperative_matrix_store %4, %3, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:6:3 note: in block
+ $B2: {
+ ^^^
+
+note: # Disassembly
+$B1: { # root
+ %arg_0:ptr<workgroup, array<i32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixStore_c266d0 = func():void {
+ $B2: {
+ %3:subgroup_matrix_left<i8, 8, 8> = construct
+ %4:ptr<workgroup, i32, read_write> = access %arg_0, 1u
+ %5:void = spirv.cooperative_matrix_store %4, %3, 1u, 8u, 32u
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B3: {
+ loop [i: $B4, b: $B5, c: $B6] { # loop_1
+ $B4: { # initializer
+ next_iteration %tint_local_index # -> $B5
+ }
+ $B5 (%idx:u32): { # body
+ %9:bool = gte %idx, 1024u
+ if %9 [t: $B7] { # if_1
+ $B7: { # true
+ exit_loop # loop_1
+ }
+ }
+ %10:ptr<workgroup, i32, read_write> = access %arg_0, %idx
+ store %10, 0i
+ continue # -> $B6
+ }
+ $B6: { # continuing
+ %11:u32 = add %idx, 1u
+ next_iteration %11 # -> $B5
+ }
+ }
+ %12:void = workgroupBarrier
+ %13:void = call %subgroupMatrixStore_c266d0
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.dxc.hlsl
index 8932290..9f69f43 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.dxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_c28145() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_result<i32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<i32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.fxc.hlsl
index a0cbc3a..bf1b1a1 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.fxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_c28145() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_result<i32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<i32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/c28145.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/c28145.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/c28145.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c28145.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/c4a7ce.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c4a7ce.wgsl.expected.dxc.hlsl
index 3906450..555e491 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/c4a7ce.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c4a7ce.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<f32, 1024>;
fn subgroupMatrixStore_c4a7ce() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/c4a7ce.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c4a7ce.wgsl.expected.fxc.hlsl
index 1e3eebe..f79c1d8 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/c4a7ce.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c4a7ce.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<f32, 1024>;
fn subgroupMatrixStore_c4a7ce() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/c4a7ce.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c4a7ce.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/c4a7ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c4a7ce.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/c4a7ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c4a7ce.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/c4a7ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c4a7ce.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/c4a7ce.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c4a7ce.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/c4a7ce.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c4a7ce.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/c9f1a5.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl
new file mode 100644
index 0000000..59ad3db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.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, 1024>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<u32, 1024>, read_write>, u32, subgroup_matrix<result, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_c9f1a5() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<u8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c9f1a5();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..089de74
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl.expected.dxc.hlsl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_c9f1a5() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c9f1a5();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_result<u8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<u8, 8, 8>(), true, 8u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..089de74
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl.expected.fxc.hlsl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_c9f1a5() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c9f1a5();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_result<u8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<u8, 8, 8>(), true, 8u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c9f1a5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c9f1a5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c9f1a5.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c9f1a5.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl.expected.spvasm
new file mode 100644
index 0000000..db8eabf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/c9f1a5.wgsl.expected.spvasm
@@ -0,0 +1,64 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_c9f1a5() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c9f1a5();
+}
+
+Failed to generate SPIR-V: :18:15 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:void = spirv.cooperative_matrix_store %5, %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:14:3 note: in block
+ $B2: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_c9f1a5 = func():void {
+ $B2: {
+ %3:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u, 0u
+ %4:subgroup_matrix_result<u8, 8, 8> = construct
+ %5:ptr<storage, u32, read_write> = access %3, 1u
+ %6:void = spirv.cooperative_matrix_store %5, %4, 1u, 8u, 32u
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %8:void = call %subgroupMatrixStore_c9f1a5
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.wgsl
new file mode 100644
index 0000000..a650355
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.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, 1024>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<u32, 1024>, read_write>, u32, subgroup_matrix<left, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_ca6fe7() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_left<u8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ca6fe7();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..07213e1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_ca6fe7() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ca6fe7();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.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/ca6fe7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..07213e1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_ca6fe7() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ca6fe7();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.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/ca6fe7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/ca6fe7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/ca6fe7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/ca6fe7.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/ca6fe7.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.wgsl.expected.spvasm
new file mode 100644
index 0000000..d86a748
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ca6fe7.wgsl.expected.spvasm
@@ -0,0 +1,72 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_ca6fe7() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ca6fe7();
+}
+
+Failed to generate SPIR-V: :9:15 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<workgroup, u32, read_write>, subgroup_matrix_left<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %5:void = spirv.cooperative_matrix_store %4, %3, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:6:3 note: in block
+ $B2: {
+ ^^^
+
+note: # Disassembly
+$B1: { # root
+ %arg_0:ptr<workgroup, array<u32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixStore_ca6fe7 = func():void {
+ $B2: {
+ %3:subgroup_matrix_left<u8, 8, 8> = construct
+ %4:ptr<workgroup, u32, read_write> = access %arg_0, 1u
+ %5:void = spirv.cooperative_matrix_store %4, %3, 1u, 8u, 32u
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B3: {
+ loop [i: $B4, b: $B5, c: $B6] { # loop_1
+ $B4: { # initializer
+ next_iteration %tint_local_index # -> $B5
+ }
+ $B5 (%idx:u32): { # body
+ %9:bool = gte %idx, 1024u
+ if %9 [t: $B7] { # if_1
+ $B7: { # true
+ exit_loop # loop_1
+ }
+ }
+ %10:ptr<workgroup, u32, read_write> = access %arg_0, %idx
+ store %10, 0u
+ continue # -> $B6
+ }
+ $B6: { # continuing
+ %11:u32 = add %idx, 1u
+ next_iteration %11 # -> $B5
+ }
+ }
+ %12:void = workgroupBarrier
+ %13:void = call %subgroupMatrixStore_ca6fe7
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/d55153.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/d55153.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/d55153.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/e2ecd9.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl
new file mode 100644
index 0000000..2bd3910
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.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, 1024>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<i32, 1024>, read_write>, u32, subgroup_matrix<right, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_e2ecd9() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<i8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e2ecd9();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..add4003
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl.expected.dxc.hlsl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_e2ecd9() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e2ecd9();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_right<i8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<i8, 8, 8>(), true, 8u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..add4003
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl.expected.fxc.hlsl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_e2ecd9() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e2ecd9();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_right<i8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<i8, 8, 8>(), true, 8u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e2ecd9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e2ecd9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e2ecd9.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e2ecd9.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl.expected.spvasm
new file mode 100644
index 0000000..26992c1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e2ecd9.wgsl.expected.spvasm
@@ -0,0 +1,64 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_e2ecd9() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e2ecd9();
+}
+
+Failed to generate SPIR-V: :18:15 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_right<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:void = spirv.cooperative_matrix_store %5, %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:14:3 note: in block
+ $B2: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_e2ecd9 = func():void {
+ $B2: {
+ %3:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u, 0u
+ %4:subgroup_matrix_right<i8, 8, 8> = construct
+ %5:ptr<storage, i32, read_write> = access %3, 1u
+ %6:void = spirv.cooperative_matrix_store %5, %4, 1u, 8u, 32u
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %8:void = call %subgroupMatrixStore_e2ecd9
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl
new file mode 100644
index 0000000..140444f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.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>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, runtime_array<i32>, read_write>, u32, subgroup_matrix<result, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_e4d013() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<i8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e4d013();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e4d013.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e4d013.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e4d013.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e4d013.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl.expected.spvasm
new file mode 100644
index 0000000..9f4d1ca
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e4d013.wgsl.expected.spvasm
@@ -0,0 +1,71 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_e4d013() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e4d013();
+}
+
+Failed to generate SPIR-V: :22:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %12:void = spirv.cooperative_matrix_store %11, %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+$B1: { # root
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_e4d013 = func():void {
+ $B2: {
+ %3:ptr<storage, array<i32>, read_write> = access %sb_rw, 0u
+ %4:subgroup_matrix_result<i8, 8, 8> = construct
+ %5:u32 = spirv.array_length %sb_rw, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %11:ptr<storage, i32, read_write> = access %3, 1u
+ %12:void = spirv.cooperative_matrix_store %11, %4, 1u, 8u, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %14:void = call %subgroupMatrixStore_e4d013
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.wgsl
new file mode 100644
index 0000000..93a0978
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.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, 1024>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<i32, 1024>, read_write>, u32, subgroup_matrix<result, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_e59232() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_result<i8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e59232();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..6bff7f6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.wgsl.expected.dxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_e59232() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e59232();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.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/e59232.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..6bff7f6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.wgsl.expected.fxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_e59232() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e59232();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.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/e59232.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e59232.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e59232.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e59232.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e59232.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.wgsl.expected.spvasm
new file mode 100644
index 0000000..135be28
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/e59232.wgsl.expected.spvasm
@@ -0,0 +1,72 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_e59232() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e59232();
+}
+
+Failed to generate SPIR-V: :9:15 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<workgroup, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %5:void = spirv.cooperative_matrix_store %4, %3, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:6:3 note: in block
+ $B2: {
+ ^^^
+
+note: # Disassembly
+$B1: { # root
+ %arg_0:ptr<workgroup, array<i32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixStore_e59232 = func():void {
+ $B2: {
+ %3:subgroup_matrix_result<i8, 8, 8> = construct
+ %4:ptr<workgroup, i32, read_write> = access %arg_0, 1u
+ %5:void = spirv.cooperative_matrix_store %4, %3, 1u, 8u, 32u
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B3: {
+ loop [i: $B4, b: $B5, c: $B6] { # loop_1
+ $B4: { # initializer
+ next_iteration %tint_local_index # -> $B5
+ }
+ $B5 (%idx:u32): { # body
+ %9:bool = gte %idx, 1024u
+ if %9 [t: $B7] { # if_1
+ $B7: { # true
+ exit_loop # loop_1
+ }
+ }
+ %10:ptr<workgroup, i32, read_write> = access %arg_0, %idx
+ store %10, 0i
+ continue # -> $B6
+ }
+ $B6: { # continuing
+ %11:u32 = add %idx, 1u
+ next_iteration %11 # -> $B5
+ }
+ }
+ %12:void = workgroupBarrier
+ %13:void = call %subgroupMatrixStore_e59232
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.dxc.hlsl
index 607a423..79b3781 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.dxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_eac52e() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<f32, 1024>, u32, subgroup_matrix_left<f32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.fxc.hlsl
index 1d95449..a2f24d7 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.fxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_eac52e() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<f32, 1024>, u32, subgroup_matrix_left<f32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/eac52e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/eac52e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/eac52e.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/eae7d8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/eae7d8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/eae7d8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/eae7d8.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/f71f4f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.dxc.hlsl
index 180a10b..102c9bd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.dxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_f71f4f() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_left<u32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<u32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.fxc.hlsl
index 2b3b630..4193e1a3 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.fxc.hlsl
@@ -10,7 +10,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_f71f4f() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -20,13 +20,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_left<u32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<u32, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/f71f4f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/f71f4f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/f71f4f.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f71f4f.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/f79102.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl
new file mode 100644
index 0000000..e0edd1a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.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, 1024>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<i32, 1024>, read_write>, u32, subgroup_matrix<left, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_f79102() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<i8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f79102();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..438b915
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl.expected.dxc.hlsl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_f79102() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f79102();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_left<i8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<i8, 8, 8>(), true, 8u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..438b915
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl.expected.fxc.hlsl
@@ -0,0 +1,41 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_f79102() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f79102();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_left<i8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<i8, 8, 8>(), true, 8u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f79102.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f79102.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f79102.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f79102.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl.expected.spvasm
new file mode 100644
index 0000000..f67da05
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f79102.wgsl.expected.spvasm
@@ -0,0 +1,64 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_f79102() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<i8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f79102();
+}
+
+Failed to generate SPIR-V: :18:15 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_left<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %6:void = spirv.cooperative_matrix_store %5, %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:14:3 note: in block
+ $B2: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_f79102 = func():void {
+ $B2: {
+ %3:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u, 0u
+ %4:subgroup_matrix_left<i8, 8, 8> = construct
+ %5:ptr<storage, i32, read_write> = access %3, 1u
+ %6:void = spirv.cooperative_matrix_store %5, %4, 1u, 8u, 32u
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %8:void = call %subgroupMatrixStore_f79102
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl
new file mode 100644
index 0000000..7385a26
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.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>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, runtime_array<u32>, read_write>, u32, subgroup_matrix<left, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_f96cc1() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<u8, 8, 8>(), true, 8u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f96cc1();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f96cc1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f96cc1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f96cc1.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f96cc1.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl.expected.spvasm
new file mode 100644
index 0000000..e7b3d4a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f96cc1.wgsl.expected.spvasm
@@ -0,0 +1,71 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_f96cc1() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<u8, 8, 8>(), true, 8u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f96cc1();
+}
+
+Failed to generate SPIR-V: :22:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_left<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %12:void = spirv.cooperative_matrix_store %11, %4, 1u, 8u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+$B1: { # root
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_f96cc1 = func():void {
+ $B2: {
+ %3:ptr<storage, array<u32>, read_write> = access %sb_rw, 0u
+ %4:subgroup_matrix_left<u8, 8, 8> = construct
+ %5:u32 = spirv.array_length %sb_rw, 0u
+ %6:u32 = mul %5, 4u
+ %7:u32 = mul 8u, 7u
+ %8:u32 = add 1u, %7
+ %9:u32 = add %8, 8u
+ %10:bool = lte %9, %6
+ if %10 [t: $B3] { # if_1
+ $B3: { # true
+ %11:ptr<storage, u32, read_write> = access %3, 1u
+ %12:void = spirv.cooperative_matrix_store %11, %4, 1u, 8u, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %14:void = call %subgroupMatrixStore_f96cc1
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.dxc.hlsl
index eaf4cc7..54ddb99 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.dxc.hlsl
@@ -11,7 +11,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_fb7663() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -21,13 +21,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl:51:3 error: no matching call to 'subgroupMatrixStore(array<f16, 1024>, u32, subgroup_matrix_left<f16, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f16, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.fxc.hlsl
index d6dc37a..f19c0b9 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.fxc.hlsl
@@ -11,7 +11,7 @@
@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
fn subgroupMatrixStore_fb7663() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
@@ -21,13 +21,21 @@
Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl:51:3 error: no matching call to 'subgroupMatrixStore(array<f16, 1024>, u32, subgroup_matrix_left<f16, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f16, 8, 8>(), true, 8u);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/fb7663.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/fb7663.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/fb7663.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/feca1e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.dxc.hlsl
index 97a18f0..a6789cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<i32, 1024>;
fn subgroupMatrixStore_feca1e() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.fxc.hlsl
index 7575cf6..91cc292 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
var<workgroup> arg_0 : array<i32, 1024>;
fn subgroupMatrixStore_feca1e() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/feca1e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/feca1e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/feca1e.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.msl
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/feca1e.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/015e29.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/015e29.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/015e29.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/015e29.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/015e29.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/015e29.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/015e29.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/015e29.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/015e29.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/015e29.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/015e29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/015e29.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/015e29.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/015e29.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/015e29.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/015e29.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/015e29.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/015e29.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/015e29.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/015e29.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/03a4db.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl
new file mode 100644
index 0000000..3c7eebe
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.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>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, i8, 8, 8>>(ptr<storage, runtime_array<i32>, read>, u32, @const bool, u32) -> subgroup_matrix<result, i8, 8, 8>
+fn subgroupMatrixLoad_03a4db() -> subgroup_matrix_result<i8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 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_03a4db(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/03a4db.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/03a4db.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/03a4db.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/03a4db.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl.expected.spvasm
new file mode 100644
index 0000000..feffd65
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/03a4db.wgsl.expected.spvasm
@@ -0,0 +1,108 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_03a4db() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 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_03a4db(), false, 64);
+}
+
+Failed to generate SPIR-V: :32:48 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>>(ptr<storage, i32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %17, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:30:7 note: in block
+ $B3: { # true
+ ^^^
+
+:48:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:44:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_ro:ptr<storage, SB_RO, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_03a4db = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<i32>, read> = access %sb_ro, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = spirv.array_length %sb_ro, 0u
+ %11:u32 = mul %10, 4u
+ %12:u32 = mul %9, 7u
+ %13:u32 = add %7, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, %11
+ %16:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var undef
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %17:ptr<storage, i32, read> = access %6, %7
+ %18:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %17, 1u, %9, 32u
+ store %16, %18
+ exit_if # if_1
+ }
+ }
+ %19:subgroup_matrix_result<i8, 8, 8> = load %16
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %19
+ %21:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %21
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %23:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixLoad_03a4db
+ %24:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %25:ptr<storage, i32, read_write> = access %24, 0u
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/06933f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/06933f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/06933f.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/0cc7b0.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0cc7b0.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/0cc7b0.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0cc7b0.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0cc7b0.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0cc7b0.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/0cc7b0.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0cc7b0.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0cc7b0.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0cc7b0.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/0cc7b0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0cc7b0.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/0cc7b0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0cc7b0.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/0cc7b0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0cc7b0.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/0cc7b0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0cc7b0.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/0cc7b0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0cc7b0.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/0f48aa.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f48aa.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/0f48aa.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f48aa.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0f48aa.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f48aa.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/0f48aa.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f48aa.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0f48aa.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f48aa.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/0f48aa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f48aa.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/0f48aa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f48aa.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/0f48aa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f48aa.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/0f48aa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f48aa.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/0f48aa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f48aa.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/0f7739.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl
new file mode 100644
index 0000000..a575266
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.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>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, i8, 8, 8>>(ptr<storage, runtime_array<i32>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, i8, 8, 8>
+fn subgroupMatrixLoad_0f7739() -> subgroup_matrix_left<i8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 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_0f7739(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/0f7739.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/0f7739.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/0f7739.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/0f7739.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl.expected.spvasm
new file mode 100644
index 0000000..89be14d
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0f7739.wgsl.expected.spvasm
@@ -0,0 +1,108 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_0f7739() -> subgroup_matrix_left<i8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 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_0f7739(), false, 64);
+}
+
+Failed to generate SPIR-V: :32:46 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>>(ptr<storage, i32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %17, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:30:7 note: in block
+ $B3: { # true
+ ^^^
+
+:48:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_left<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:44:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_0f7739 = func():subgroup_matrix_left<i8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<i32>, read_write> = access %sb_rw, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = spirv.array_length %sb_rw, 0u
+ %11:u32 = mul %10, 4u
+ %12:u32 = mul %9, 7u
+ %13:u32 = add %7, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, %11
+ %16:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var undef
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %17:ptr<storage, i32, read_write> = access %6, %7
+ %18:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %17, 1u, %9, 32u
+ store %16, %18
+ exit_if # if_1
+ }
+ }
+ %19:subgroup_matrix_left<i8, 8, 8> = load %16
+ %res:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var %19
+ %21:subgroup_matrix_left<i8, 8, 8> = load %res
+ ret %21
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %23:subgroup_matrix_left<i8, 8, 8> = call %subgroupMatrixLoad_0f7739
+ %24:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %25:ptr<storage, i32, read_write> = access %24, 0u
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/119c99.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/119c99.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/119c99.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/119c99.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/11bb4b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/11bb4b.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/11bb4b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/11bb4b.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/11bb4b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/11bb4b.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/11bb4b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/11bb4b.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/11bb4b.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/11bb4b.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/11bb4b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/11bb4b.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/11bb4b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/11bb4b.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/11bb4b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/11bb4b.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/11bb4b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/11bb4b.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/11bb4b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/11bb4b.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/122298.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl
new file mode 100644
index 0000000..fe201e6
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, i8, 8, 8>>(ptr<storage, array<i32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, i8, 8, 8>
+fn subgroupMatrixLoad_122298() -> subgroup_matrix_left<i8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 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_122298(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/122298.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/122298.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/122298.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/122298.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl.expected.spvasm
new file mode 100644
index 0000000..3b08541
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/122298.wgsl.expected.spvasm
@@ -0,0 +1,110 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_122298() -> subgroup_matrix_left<i8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 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_122298(), false, 64);
+}
+
+Failed to generate SPIR-V: :34:46 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>>(ptr<storage, i32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %15, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:32:7 note: in block
+ $B3: { # true
+ ^^^
+
+:50:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_left<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:46:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_122298 = func():subgroup_matrix_left<i8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<i32, 1024>, read_write> = access %2, 0u, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = mul %9, 7u
+ %11:u32 = add %7, %10
+ %12:u32 = add %11, 8u
+ %13:bool = lte %12, 4096u
+ %14:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var undef
+ if %13 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<storage, i32, read_write> = access %6, %7
+ %16:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %15, 1u, %9, 32u
+ store %14, %16
+ exit_if # if_1
+ }
+ }
+ %17:subgroup_matrix_left<i8, 8, 8> = load %14
+ %res:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var %17
+ %19:subgroup_matrix_left<i8, 8, 8> = load %res
+ ret %19
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:subgroup_matrix_left<i8, 8, 8> = call %subgroupMatrixLoad_122298
+ %22:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %23:ptr<storage, i32, read_write> = access %22, 0u
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/128bf4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/128bf4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/128bf4.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/12b63e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/12b63e.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/12b63e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/12b63e.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/12b63e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/12b63e.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/12b63e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/12b63e.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/12b63e.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/12b63e.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/12b63e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/12b63e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/12b63e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/12b63e.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/12b63e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/12b63e.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/12b63e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/12b63e.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/12b63e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/12b63e.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/12ca82.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/12ca82.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/12ca82.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/12ca82.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/12ca82.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/15689c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/15689c.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/15689c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/15689c.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/15689c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/15689c.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/15689c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/15689c.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/15689c.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/15689c.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/15689c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/15689c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/15689c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/15689c.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/15689c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/15689c.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/15689c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/15689c.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/15689c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/15689c.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/1a0572.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1a0572.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/1a0572.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1a0572.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1a0572.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1a0572.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/1a0572.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1a0572.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1a0572.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1a0572.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/1a0572.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1a0572.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/1a0572.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1a0572.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/1a0572.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1a0572.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/1a0572.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1a0572.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/1a0572.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1a0572.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/1b3162.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl
new file mode 100644
index 0000000..aba5569
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.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, 1024>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, i8, 8, 8>>(ptr<workgroup, array<i32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, i8, 8, 8>
+fn subgroupMatrixLoad_1b3162() -> subgroup_matrix_right<i8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_1b3162(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/1b3162.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/1b3162.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/1b3162.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/1b3162.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl.expected.spvasm
new file mode 100644
index 0000000..1a175c4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1b3162.wgsl.expected.spvasm
@@ -0,0 +1,3 @@
+SKIP: TIMEOUT
+
+test timed out after 2m0s
\ No newline at end of file
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/21f2c7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/21f2c7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/21f2c7.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/23385e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/23385e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/23385e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/23385e.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/23385e.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/297099.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl
new file mode 100644
index 0000000..4afa79d
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, i8, 8, 8>>(ptr<storage, array<i32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, i8, 8, 8>
+fn subgroupMatrixLoad_297099() -> subgroup_matrix_result<i8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 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_297099(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/297099.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/297099.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/297099.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/297099.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl.expected.spvasm
new file mode 100644
index 0000000..0dbdffe
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/297099.wgsl.expected.spvasm
@@ -0,0 +1,110 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_297099() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 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_297099(), false, 64);
+}
+
+Failed to generate SPIR-V: :34:48 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>>(ptr<storage, i32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %15, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:32:7 note: in block
+ $B3: { # true
+ ^^^
+
+:50:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:46:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_297099 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<i32, 1024>, read_write> = access %2, 0u, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = mul %9, 7u
+ %11:u32 = add %7, %10
+ %12:u32 = add %11, 8u
+ %13:bool = lte %12, 4096u
+ %14:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var undef
+ if %13 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<storage, i32, read_write> = access %6, %7
+ %16:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %15, 1u, %9, 32u
+ store %14, %16
+ exit_if # if_1
+ }
+ }
+ %17:subgroup_matrix_result<i8, 8, 8> = load %14
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %17
+ %19:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %19
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixLoad_297099
+ %22:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %23:ptr<storage, i32, read_write> = access %22, 0u
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl
new file mode 100644
index 0000000..1e0391f
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.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>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, u8, 8, 8>>(ptr<storage, runtime_array<u32>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, u8, 8, 8>
+fn subgroupMatrixLoad_29f533() -> subgroup_matrix_left<u8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 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_29f533(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/29f533.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/29f533.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/29f533.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/29f533.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl.expected.spvasm
new file mode 100644
index 0000000..92f7a11
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/29f533.wgsl.expected.spvasm
@@ -0,0 +1,108 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_29f533() -> subgroup_matrix_left<u8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 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_29f533(), false, 64);
+}
+
+Failed to generate SPIR-V: :32:46 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>>(ptr<storage, u32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %17, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:30:7 note: in block
+ $B3: { # true
+ ^^^
+
+:48:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_left<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:44:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_29f533 = func():subgroup_matrix_left<u8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<u32>, read_write> = access %sb_rw, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = spirv.array_length %sb_rw, 0u
+ %11:u32 = mul %10, 4u
+ %12:u32 = mul %9, 7u
+ %13:u32 = add %7, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, %11
+ %16:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var undef
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %17:ptr<storage, u32, read_write> = access %6, %7
+ %18:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %17, 1u, %9, 32u
+ store %16, %18
+ exit_if # if_1
+ }
+ }
+ %19:subgroup_matrix_left<u8, 8, 8> = load %16
+ %res:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var %19
+ %21:subgroup_matrix_left<u8, 8, 8> = load %res
+ ret %21
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %23:subgroup_matrix_left<u8, 8, 8> = call %subgroupMatrixLoad_29f533
+ %24:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %25:ptr<storage, u32, read_write> = access %24, 0u
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/30634b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/30634b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/30634b.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/30634b.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/3f3203.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl
new file mode 100644
index 0000000..376edbc
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, u8, 8, 8>>(ptr<storage, array<u32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, u8, 8, 8>
+fn subgroupMatrixLoad_3f3203() -> subgroup_matrix_result<u8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 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_3f3203(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/3f3203.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/3f3203.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/3f3203.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/3f3203.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl.expected.spvasm
new file mode 100644
index 0000000..d4e8520
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/3f3203.wgsl.expected.spvasm
@@ -0,0 +1,110 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_3f3203() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 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_3f3203(), false, 64);
+}
+
+Failed to generate SPIR-V: :34:48 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>>(ptr<storage, u32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %15, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:32:7 note: in block
+ $B3: { # true
+ ^^^
+
+:50:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:46:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_3f3203 = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<u32, 1024>, read_write> = access %2, 0u, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = mul %9, 7u
+ %11:u32 = add %7, %10
+ %12:u32 = add %11, 8u
+ %13:bool = lte %12, 4096u
+ %14:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var undef
+ if %13 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<storage, u32, read_write> = access %6, %7
+ %16:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %15, 1u, %9, 32u
+ store %14, %16
+ exit_if # if_1
+ }
+ }
+ %17:subgroup_matrix_result<u8, 8, 8> = load %14
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %17
+ %19:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %19
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixLoad_3f3203
+ %22:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %23:ptr<storage, u32, read_write> = access %22, 0u
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/42db25.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/42db25.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/42db25.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/42db25.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/43c097.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/43c097.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/43c097.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/43c097.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/43c097.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/457d20.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/457d20.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/457d20.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/457d20.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/457d20.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/459957.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/459957.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/459957.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/459957.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/459957.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/459957.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/459957.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/459957.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/459957.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/459957.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/459957.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/459957.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/459957.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/459957.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/459957.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/459957.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/459957.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/459957.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/459957.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/459957.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/487a88.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl
new file mode 100644
index 0000000..02674b9
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.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, 1024>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, u8, 8, 8>>(ptr<workgroup, array<u32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, u8, 8, 8>
+fn subgroupMatrixLoad_487a88() -> subgroup_matrix_right<u8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_487a88(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/487a88.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/487a88.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/487a88.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/487a88.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl.expected.spvasm
new file mode 100644
index 0000000..1a175c4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/487a88.wgsl.expected.spvasm
@@ -0,0 +1,3 @@
+SKIP: TIMEOUT
+
+test timed out after 2m0s
\ No newline at end of file
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/4fd336.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/4fd336.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/4fd336.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/50572b.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl
new file mode 100644
index 0000000..6814cd3
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.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, 1024>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, u8, 8, 8>>(ptr<workgroup, array<u32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, u8, 8, 8>
+fn subgroupMatrixLoad_50572b() -> subgroup_matrix_left<u8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_50572b(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/50572b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/50572b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/50572b.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/50572b.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl.expected.spvasm
new file mode 100644
index 0000000..1a175c4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/50572b.wgsl.expected.spvasm
@@ -0,0 +1,3 @@
+SKIP: TIMEOUT
+
+test timed out after 2m0s
\ No newline at end of file
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/5155ed.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/5155ed.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/5155ed.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5155ed.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/52acb0.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/52acb0.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/52acb0.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/52acb0.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/52acb0.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/52acb0.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/52acb0.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/52acb0.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/52acb0.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/52acb0.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/52acb0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/52acb0.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/52acb0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/52acb0.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/52acb0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/52acb0.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/52acb0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/52acb0.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/52acb0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/52acb0.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/567359.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl
new file mode 100644
index 0000000..873a3c4d
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.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>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, u8, 8, 8>>(ptr<storage, runtime_array<u32>, read>, u32, @const bool, u32) -> subgroup_matrix<right, u8, 8, 8>
+fn subgroupMatrixLoad_567359() -> subgroup_matrix_right<u8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 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_567359(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/567359.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/567359.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/567359.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/567359.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl.expected.spvasm
new file mode 100644
index 0000000..f777bb6
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/567359.wgsl.expected.spvasm
@@ -0,0 +1,108 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_567359() -> subgroup_matrix_right<u8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 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_567359(), false, 64);
+}
+
+Failed to generate SPIR-V: :32:47 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>>(ptr<storage, u32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %17, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:30:7 note: in block
+ $B3: { # true
+ ^^^
+
+:48:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_right<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:44:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_ro:ptr<storage, SB_RO, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_567359 = func():subgroup_matrix_right<u8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<u32>, read> = access %sb_ro, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = spirv.array_length %sb_ro, 0u
+ %11:u32 = mul %10, 4u
+ %12:u32 = mul %9, 7u
+ %13:u32 = add %7, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, %11
+ %16:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var undef
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %17:ptr<storage, u32, read> = access %6, %7
+ %18:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %17, 1u, %9, 32u
+ store %16, %18
+ exit_if # if_1
+ }
+ }
+ %19:subgroup_matrix_right<u8, 8, 8> = load %16
+ %res:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var %19
+ %21:subgroup_matrix_right<u8, 8, 8> = load %res
+ ret %21
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %23:subgroup_matrix_right<u8, 8, 8> = call %subgroupMatrixLoad_567359
+ %24:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %25:ptr<storage, u32, read_write> = access %24, 0u
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl
new file mode 100644
index 0000000..4ecd6f7
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.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>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, i8, 8, 8>>(ptr<storage, runtime_array<i32>, read>, u32, @const bool, u32) -> subgroup_matrix<right, i8, 8, 8>
+fn subgroupMatrixLoad_58b2f2() -> subgroup_matrix_right<i8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 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_58b2f2(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/58b2f2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/58b2f2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/58b2f2.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/58b2f2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl.expected.spvasm
new file mode 100644
index 0000000..b1edb7b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/58b2f2.wgsl.expected.spvasm
@@ -0,0 +1,108 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_58b2f2() -> subgroup_matrix_right<i8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 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_58b2f2(), false, 64);
+}
+
+Failed to generate SPIR-V: :32:47 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>>(ptr<storage, i32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %17, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:30:7 note: in block
+ $B3: { # true
+ ^^^
+
+:48:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_right<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:44:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_ro:ptr<storage, SB_RO, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_58b2f2 = func():subgroup_matrix_right<i8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<i32>, read> = access %sb_ro, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = spirv.array_length %sb_ro, 0u
+ %11:u32 = mul %10, 4u
+ %12:u32 = mul %9, 7u
+ %13:u32 = add %7, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, %11
+ %16:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var undef
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %17:ptr<storage, i32, read> = access %6, %7
+ %18:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %17, 1u, %9, 32u
+ store %16, %18
+ exit_if # if_1
+ }
+ }
+ %19:subgroup_matrix_right<i8, 8, 8> = load %16
+ %res:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var %19
+ %21:subgroup_matrix_right<i8, 8, 8> = load %res
+ ret %21
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %23:subgroup_matrix_right<i8, 8, 8> = call %subgroupMatrixLoad_58b2f2
+ %24:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %25:ptr<storage, i32, read_write> = access %24, 0u
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/5c0896.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/5c0896.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5c0896.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/5de410.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5de410.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/5de410.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5de410.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/5de410.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5de410.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/5de410.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5de410.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/5de410.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5de410.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/5de410.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5de410.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/5de410.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5de410.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/5de410.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5de410.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/5de410.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5de410.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/5de410.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5de410.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/5e2602.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl
new file mode 100644
index 0000000..36f83ec
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.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>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, u8, 8, 8>>(ptr<storage, runtime_array<u32>, read>, u32, @const bool, u32) -> subgroup_matrix<result, u8, 8, 8>
+fn subgroupMatrixLoad_5e2602() -> subgroup_matrix_result<u8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 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_5e2602(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/5e2602.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/5e2602.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/5e2602.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/5e2602.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl.expected.spvasm
new file mode 100644
index 0000000..6925302
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5e2602.wgsl.expected.spvasm
@@ -0,0 +1,108 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_5e2602() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 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_5e2602(), false, 64);
+}
+
+Failed to generate SPIR-V: :32:48 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>>(ptr<storage, u32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %17, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:30:7 note: in block
+ $B3: { # true
+ ^^^
+
+:48:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:44:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_ro:ptr<storage, SB_RO, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_5e2602 = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<u32>, read> = access %sb_ro, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = spirv.array_length %sb_ro, 0u
+ %11:u32 = mul %10, 4u
+ %12:u32 = mul %9, 7u
+ %13:u32 = add %7, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, %11
+ %16:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var undef
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %17:ptr<storage, u32, read> = access %6, %7
+ %18:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %17, 1u, %9, 32u
+ store %16, %18
+ exit_if # if_1
+ }
+ }
+ %19:subgroup_matrix_result<u8, 8, 8> = load %16
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %19
+ %21:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %21
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %23:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixLoad_5e2602
+ %24:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %25:ptr<storage, u32, read_write> = access %24, 0u
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/6432c6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/6432c6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/6432c6.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6432c6.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/662272.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl
new file mode 100644
index 0000000..200c02a
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.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, 1024>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, i8, 8, 8>>(ptr<workgroup, array<i32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, i8, 8, 8>
+fn subgroupMatrixLoad_662272() -> subgroup_matrix_result<i8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_662272(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/662272.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/662272.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/662272.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/662272.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl.expected.spvasm
new file mode 100644
index 0000000..1a175c4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/662272.wgsl.expected.spvasm
@@ -0,0 +1,3 @@
+SKIP: TIMEOUT
+
+test timed out after 2m0s
\ No newline at end of file
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl
new file mode 100644
index 0000000..8934a30
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.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>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, i8, 8, 8>>(ptr<storage, runtime_array<i32>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, i8, 8, 8>
+fn subgroupMatrixLoad_664e6e() -> subgroup_matrix_right<i8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 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_664e6e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/664e6e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/664e6e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/664e6e.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/664e6e.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl.expected.spvasm
new file mode 100644
index 0000000..a42779b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/664e6e.wgsl.expected.spvasm
@@ -0,0 +1,108 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_664e6e() -> subgroup_matrix_right<i8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 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_664e6e(), false, 64);
+}
+
+Failed to generate SPIR-V: :32:47 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>>(ptr<storage, i32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %17, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:30:7 note: in block
+ $B3: { # true
+ ^^^
+
+:48:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_right<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:44:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_664e6e = func():subgroup_matrix_right<i8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<i32>, read_write> = access %sb_rw, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = spirv.array_length %sb_rw, 0u
+ %11:u32 = mul %10, 4u
+ %12:u32 = mul %9, 7u
+ %13:u32 = add %7, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, %11
+ %16:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var undef
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %17:ptr<storage, i32, read_write> = access %6, %7
+ %18:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %17, 1u, %9, 32u
+ store %16, %18
+ exit_if # if_1
+ }
+ }
+ %19:subgroup_matrix_right<i8, 8, 8> = load %16
+ %res:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var %19
+ %21:subgroup_matrix_right<i8, 8, 8> = load %res
+ ret %21
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %23:subgroup_matrix_right<i8, 8, 8> = call %subgroupMatrixLoad_664e6e
+ %24:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %25:ptr<storage, i32, read_write> = access %24, 0u
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl
new file mode 100644
index 0000000..3489a33
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, i8, 8, 8>>(ptr<storage, array<i32, 1024>, read>, u32, @const bool, u32) -> subgroup_matrix<left, i8, 8, 8>
+fn subgroupMatrixLoad_6778bb() -> subgroup_matrix_left<i8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 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_6778bb(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/6778bb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/6778bb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/6778bb.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/6778bb.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl.expected.spvasm
new file mode 100644
index 0000000..427adde
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6778bb.wgsl.expected.spvasm
@@ -0,0 +1,110 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_6778bb() -> subgroup_matrix_left<i8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 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_6778bb(), false, 64);
+}
+
+Failed to generate SPIR-V: :34:46 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>>(ptr<storage, i32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %15, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:32:7 note: in block
+ $B3: { # true
+ ^^^
+
+:50:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_left<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:46:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+sb_ro_block = struct @align(4), @block {
+ inner:SB_RO @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_ro_block, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_6778bb = func():subgroup_matrix_left<i8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<i32, 1024>, read> = access %2, 0u, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = mul %9, 7u
+ %11:u32 = add %7, %10
+ %12:u32 = add %11, 8u
+ %13:bool = lte %12, 4096u
+ %14:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var undef
+ if %13 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<storage, i32, read> = access %6, %7
+ %16:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %15, 1u, %9, 32u
+ store %14, %16
+ exit_if # if_1
+ }
+ }
+ %17:subgroup_matrix_left<i8, 8, 8> = load %14
+ %res:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var %17
+ %19:subgroup_matrix_left<i8, 8, 8> = load %res
+ ret %19
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:subgroup_matrix_left<i8, 8, 8> = call %subgroupMatrixLoad_6778bb
+ %22:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %23:ptr<storage, i32, read_write> = access %22, 0u
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/6c1e00.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/6c1e00.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6c1e00.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/6e2773.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/6e2773.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/6e2773.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/6e2773.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/6e2773.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/7bacd3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bacd3.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7bacd3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bacd3.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7bacd3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bacd3.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7bacd3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bacd3.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7bacd3.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bacd3.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7bacd3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bacd3.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/7bacd3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bacd3.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7bacd3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bacd3.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/7bacd3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bacd3.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7bacd3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bacd3.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/7bb257.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/7bb257.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/7bb257.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/7bb257.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/7bb257.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/80b778.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/80b778.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/80b778.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/80b778.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/80b778.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/85fc76.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/85fc76.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/85fc76.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/85fc76.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/85fc76.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/865a3c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/865a3c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/865a3c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/865a3c.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/865a3c.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/86df2e.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl
new file mode 100644
index 0000000..b5e0bd5
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, u8, 8, 8>>(ptr<storage, array<u32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, u8, 8, 8>
+fn subgroupMatrixLoad_86df2e() -> subgroup_matrix_right<u8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 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_86df2e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/86df2e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/86df2e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/86df2e.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/86df2e.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl.expected.spvasm
new file mode 100644
index 0000000..592ab46
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/86df2e.wgsl.expected.spvasm
@@ -0,0 +1,110 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_86df2e() -> subgroup_matrix_right<u8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 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_86df2e(), false, 64);
+}
+
+Failed to generate SPIR-V: :34:47 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>>(ptr<storage, u32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %15, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:32:7 note: in block
+ $B3: { # true
+ ^^^
+
+:50:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_right<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:46:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_86df2e = func():subgroup_matrix_right<u8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<u32, 1024>, read_write> = access %2, 0u, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = mul %9, 7u
+ %11:u32 = add %7, %10
+ %12:u32 = add %11, 8u
+ %13:bool = lte %12, 4096u
+ %14:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var undef
+ if %13 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<storage, u32, read_write> = access %6, %7
+ %16:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %15, 1u, %9, 32u
+ store %14, %16
+ exit_if # if_1
+ }
+ }
+ %17:subgroup_matrix_right<u8, 8, 8> = load %14
+ %res:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var %17
+ %19:subgroup_matrix_right<u8, 8, 8> = load %res
+ ret %19
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:subgroup_matrix_right<u8, 8, 8> = call %subgroupMatrixLoad_86df2e
+ %22:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %23:ptr<storage, u32, read_write> = access %22, 0u
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl
new file mode 100644
index 0000000..c383d6a
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, i8, 8, 8>>(ptr<storage, array<i32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, i8, 8, 8>
+fn subgroupMatrixLoad_8861f0() -> subgroup_matrix_right<i8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 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_8861f0(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/8861f0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/8861f0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/8861f0.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/8861f0.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl.expected.spvasm
new file mode 100644
index 0000000..e53b1f5
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8861f0.wgsl.expected.spvasm
@@ -0,0 +1,110 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_8861f0() -> subgroup_matrix_right<i8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 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_8861f0(), false, 64);
+}
+
+Failed to generate SPIR-V: :34:47 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>>(ptr<storage, i32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %15, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:32:7 note: in block
+ $B3: { # true
+ ^^^
+
+:50:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_right<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:46:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_8861f0 = func():subgroup_matrix_right<i8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<i32, 1024>, read_write> = access %2, 0u, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = mul %9, 7u
+ %11:u32 = add %7, %10
+ %12:u32 = add %11, 8u
+ %13:bool = lte %12, 4096u
+ %14:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var undef
+ if %13 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<storage, i32, read_write> = access %6, %7
+ %16:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %15, 1u, %9, 32u
+ store %14, %16
+ exit_if # if_1
+ }
+ }
+ %17:subgroup_matrix_right<i8, 8, 8> = load %14
+ %res:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var %17
+ %19:subgroup_matrix_right<i8, 8, 8> = load %res
+ ret %19
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:subgroup_matrix_right<i8, 8, 8> = call %subgroupMatrixLoad_8861f0
+ %22:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %23:ptr<storage, i32, read_write> = access %22, 0u
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/8ec8ba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/8ec8ba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8ec8ba.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/91abc9.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl
new file mode 100644
index 0000000..2a0460e
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.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>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, i8, 8, 8>>(ptr<storage, runtime_array<i32>, read>, u32, @const bool, u32) -> subgroup_matrix<left, i8, 8, 8>
+fn subgroupMatrixLoad_91abc9() -> subgroup_matrix_left<i8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 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_91abc9(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/91abc9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/91abc9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/91abc9.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/91abc9.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl.expected.spvasm
new file mode 100644
index 0000000..3879830
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/91abc9.wgsl.expected.spvasm
@@ -0,0 +1,108 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_91abc9() -> subgroup_matrix_left<i8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 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_91abc9(), false, 64);
+}
+
+Failed to generate SPIR-V: :32:46 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>>(ptr<storage, i32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %17, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:30:7 note: in block
+ $B3: { # true
+ ^^^
+
+:48:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_left<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:44:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_ro:ptr<storage, SB_RO, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_91abc9 = func():subgroup_matrix_left<i8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<i32>, read> = access %sb_ro, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = spirv.array_length %sb_ro, 0u
+ %11:u32 = mul %10, 4u
+ %12:u32 = mul %9, 7u
+ %13:u32 = add %7, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, %11
+ %16:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var undef
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %17:ptr<storage, i32, read> = access %6, %7
+ %18:subgroup_matrix_left<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<i8, 8, 8>> %17, 1u, %9, 32u
+ store %16, %18
+ exit_if # if_1
+ }
+ }
+ %19:subgroup_matrix_left<i8, 8, 8> = load %16
+ %res:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var %19
+ %21:subgroup_matrix_left<i8, 8, 8> = load %res
+ ret %21
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %23:subgroup_matrix_left<i8, 8, 8> = call %subgroupMatrixLoad_91abc9
+ %24:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %25:ptr<storage, i32, read_write> = access %24, 0u
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/99d2a2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/99d2a2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/99d2a2.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/99d2a2.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/9bc799.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl
new file mode 100644
index 0000000..996d21b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, i8, 8, 8>>(ptr<storage, array<i32, 1024>, read>, u32, @const bool, u32) -> subgroup_matrix<result, i8, 8, 8>
+fn subgroupMatrixLoad_9bc799() -> subgroup_matrix_result<i8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 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_9bc799(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9bc799.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9bc799.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9bc799.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9bc799.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl.expected.spvasm
new file mode 100644
index 0000000..a3b88ce
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9bc799.wgsl.expected.spvasm
@@ -0,0 +1,110 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_9bc799() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 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_9bc799(), false, 64);
+}
+
+Failed to generate SPIR-V: :34:48 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>>(ptr<storage, i32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %15, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:32:7 note: in block
+ $B3: { # true
+ ^^^
+
+:50:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:46:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+sb_ro_block = struct @align(4), @block {
+ inner:SB_RO @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_ro_block, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_9bc799 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<i32, 1024>, read> = access %2, 0u, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = mul %9, 7u
+ %11:u32 = add %7, %10
+ %12:u32 = add %11, 8u
+ %13:bool = lte %12, 4096u
+ %14:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var undef
+ if %13 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<storage, i32, read> = access %6, %7
+ %16:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %15, 1u, %9, 32u
+ store %14, %16
+ exit_if # if_1
+ }
+ }
+ %17:subgroup_matrix_result<i8, 8, 8> = load %14
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %17
+ %19:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %19
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixLoad_9bc799
+ %22:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %23:ptr<storage, i32, read_write> = access %22, 0u
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl
new file mode 100644
index 0000000..e787243
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, u8, 8, 8>>(ptr<storage, array<u32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, u8, 8, 8>
+fn subgroupMatrixLoad_9c4b12() -> subgroup_matrix_left<u8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 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_9c4b12(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9c4b12.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9c4b12.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9c4b12.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9c4b12.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl.expected.spvasm
new file mode 100644
index 0000000..19274f8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c4b12.wgsl.expected.spvasm
@@ -0,0 +1,110 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_9c4b12() -> subgroup_matrix_left<u8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 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_9c4b12(), false, 64);
+}
+
+Failed to generate SPIR-V: :34:46 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>>(ptr<storage, u32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %15, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:32:7 note: in block
+ $B3: { # true
+ ^^^
+
+:50:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_left<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:46:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_9c4b12 = func():subgroup_matrix_left<u8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<u32, 1024>, read_write> = access %2, 0u, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = mul %9, 7u
+ %11:u32 = add %7, %10
+ %12:u32 = add %11, 8u
+ %13:bool = lte %12, 4096u
+ %14:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var undef
+ if %13 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<storage, u32, read_write> = access %6, %7
+ %16:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %15, 1u, %9, 32u
+ store %14, %16
+ exit_if # if_1
+ }
+ }
+ %17:subgroup_matrix_left<u8, 8, 8> = load %14
+ %res:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var %17
+ %19:subgroup_matrix_left<u8, 8, 8> = load %res
+ ret %19
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:subgroup_matrix_left<u8, 8, 8> = call %subgroupMatrixLoad_9c4b12
+ %22:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %23:ptr<storage, u32, read_write> = access %22, 0u
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/9e2d69.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/9e2d69.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/9e2d69.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e2d69.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/a13603.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a13603.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a13603.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/a13603.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/a13603.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a13603.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a13603.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/a13603.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/a13603.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a13603.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a13603.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/a13603.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/a13603.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a13603.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a13603.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/a13603.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/a13603.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a13603.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a13603.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/a13603.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/a798ae.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/a798ae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/a798ae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/a798ae.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/a798ae.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/a95397.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a95397.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a95397.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/a95397.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/a95397.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a95397.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a95397.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/a95397.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/a95397.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a95397.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a95397.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/a95397.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/a95397.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a95397.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a95397.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/a95397.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/a95397.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a95397.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a95397.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/a95397.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/aadc6f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/aadc6f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/aadc6f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/aadc6f.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/aadc6f.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/ad687c.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl
new file mode 100644
index 0000000..888c79c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, u8, 8, 8>>(ptr<storage, array<u32, 1024>, read>, u32, @const bool, u32) -> subgroup_matrix<left, u8, 8, 8>
+fn subgroupMatrixLoad_ad687c() -> subgroup_matrix_left<u8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 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_ad687c(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/ad687c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/ad687c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/ad687c.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/ad687c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl.expected.spvasm
new file mode 100644
index 0000000..6bcfe5c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ad687c.wgsl.expected.spvasm
@@ -0,0 +1,110 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_ad687c() -> subgroup_matrix_left<u8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 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_ad687c(), false, 64);
+}
+
+Failed to generate SPIR-V: :34:46 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>>(ptr<storage, u32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %15, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:32:7 note: in block
+ $B3: { # true
+ ^^^
+
+:50:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_left<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:46:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+sb_ro_block = struct @align(4), @block {
+ inner:SB_RO @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_ro_block, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_ad687c = func():subgroup_matrix_left<u8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<u32, 1024>, read> = access %2, 0u, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = mul %9, 7u
+ %11:u32 = add %7, %10
+ %12:u32 = add %11, 8u
+ %13:bool = lte %12, 4096u
+ %14:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var undef
+ if %13 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<storage, u32, read> = access %6, %7
+ %16:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %15, 1u, %9, 32u
+ store %14, %16
+ exit_if # if_1
+ }
+ }
+ %17:subgroup_matrix_left<u8, 8, 8> = load %14
+ %res:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var %17
+ %19:subgroup_matrix_left<u8, 8, 8> = load %res
+ ret %19
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:subgroup_matrix_left<u8, 8, 8> = call %subgroupMatrixLoad_ad687c
+ %22:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %23:ptr<storage, u32, read_write> = access %22, 0u
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/b15f59.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/b15f59.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b15f59.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/b19701.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl
new file mode 100644
index 0000000..fb64d2d
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, i8, 8, 8>>(ptr<storage, array<i32, 1024>, read>, u32, @const bool, u32) -> subgroup_matrix<right, i8, 8, 8>
+fn subgroupMatrixLoad_b19701() -> subgroup_matrix_right<i8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 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_b19701(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/b19701.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/b19701.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/b19701.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/b19701.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl.expected.spvasm
new file mode 100644
index 0000000..6f366b2
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b19701.wgsl.expected.spvasm
@@ -0,0 +1,110 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_b19701() -> subgroup_matrix_right<i8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_right<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i8, 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_b19701(), false, 64);
+}
+
+Failed to generate SPIR-V: :34:47 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>>(ptr<storage, i32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %15, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:32:7 note: in block
+ $B3: { # true
+ ^^^
+
+:50:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_right<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:46:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+sb_ro_block = struct @align(4), @block {
+ inner:SB_RO @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_ro_block, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_b19701 = func():subgroup_matrix_right<i8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<i32, 1024>, read> = access %2, 0u, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = mul %9, 7u
+ %11:u32 = add %7, %10
+ %12:u32 = add %11, 8u
+ %13:bool = lte %12, 4096u
+ %14:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var undef
+ if %13 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<storage, i32, read> = access %6, %7
+ %16:subgroup_matrix_right<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<i8, 8, 8>> %15, 1u, %9, 32u
+ store %14, %16
+ exit_if # if_1
+ }
+ }
+ %17:subgroup_matrix_right<i8, 8, 8> = load %14
+ %res:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var %17
+ %19:subgroup_matrix_right<i8, 8, 8> = load %res
+ ret %19
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:subgroup_matrix_right<i8, 8, 8> = call %subgroupMatrixLoad_b19701
+ %22:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %23:ptr<storage, i32, read_write> = access %22, 0u
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/b354d2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/b354d2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/b354d2.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b354d2.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/b6f72c.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl
new file mode 100644
index 0000000..1b30b90
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.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, 1024>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, u8, 8, 8>>(ptr<workgroup, array<u32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, u8, 8, 8>
+fn subgroupMatrixLoad_b6f72c() -> subgroup_matrix_result<u8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b6f72c(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/b6f72c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/b6f72c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/b6f72c.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/b6f72c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl.expected.spvasm
new file mode 100644
index 0000000..1a175c4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b6f72c.wgsl.expected.spvasm
@@ -0,0 +1,3 @@
+SKIP: TIMEOUT
+
+test timed out after 2m0s
\ No newline at end of file
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl
new file mode 100644
index 0000000..a115e6d
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.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>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, u8, 8, 8>>(ptr<storage, runtime_array<u32>, read>, u32, @const bool, u32) -> subgroup_matrix<left, u8, 8, 8>
+fn subgroupMatrixLoad_bcfcb6() -> subgroup_matrix_left<u8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 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_bcfcb6(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/bcfcb6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/bcfcb6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/bcfcb6.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/bcfcb6.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl.expected.spvasm
new file mode 100644
index 0000000..1abd6f3
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/bcfcb6.wgsl.expected.spvasm
@@ -0,0 +1,108 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_bcfcb6() -> subgroup_matrix_left<u8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_left<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u8, 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_bcfcb6(), false, 64);
+}
+
+Failed to generate SPIR-V: :32:46 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>>(ptr<storage, u32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %17, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:30:7 note: in block
+ $B3: { # true
+ ^^^
+
+:48:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_left<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:44:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_ro:ptr<storage, SB_RO, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_bcfcb6 = func():subgroup_matrix_left<u8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<u32>, read> = access %sb_ro, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = spirv.array_length %sb_ro, 0u
+ %11:u32 = mul %10, 4u
+ %12:u32 = mul %9, 7u
+ %13:u32 = add %7, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, %11
+ %16:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var undef
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %17:ptr<storage, u32, read> = access %6, %7
+ %18:subgroup_matrix_left<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_left<u8, 8, 8>> %17, 1u, %9, 32u
+ store %16, %18
+ exit_if # if_1
+ }
+ }
+ %19:subgroup_matrix_left<u8, 8, 8> = load %16
+ %res:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var %19
+ %21:subgroup_matrix_left<u8, 8, 8> = load %res
+ ret %21
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %23:subgroup_matrix_left<u8, 8, 8> = call %subgroupMatrixLoad_bcfcb6
+ %24:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %25:ptr<storage, u32, read_write> = access %24, 0u
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/c700ca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/c700ca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/c700ca.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/c700ca.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/c71ce4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c71ce4.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c71ce4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/c71ce4.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c71ce4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c71ce4.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c71ce4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/c71ce4.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c71ce4.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c71ce4.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c71ce4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/c71ce4.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/c71ce4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c71ce4.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c71ce4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/c71ce4.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/c71ce4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c71ce4.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c71ce4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/c71ce4.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/ca4345.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/ca4345.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/ca4345.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/ca4345.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4345.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/ca4539.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4539.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4539.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4539.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4539.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4539.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4539.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4539.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4539.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4539.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4539.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4539.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/ca4539.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4539.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4539.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4539.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/ca4539.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4539.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4539.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ca4539.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/cc5556.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/cc5556.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/cc5556.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/cc5556.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/cc5556.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/cce4cd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/cce4cd.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/cce4cd.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/cce4cd.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/cce4cd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/cce4cd.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/cce4cd.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/cce4cd.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/cce4cd.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/cce4cd.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/cce4cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/cce4cd.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/cce4cd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/cce4cd.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/cce4cd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/cce4cd.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/cce4cd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/cce4cd.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/cce4cd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/cce4cd.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/d2b502.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2b502.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d2b502.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2b502.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d2b502.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2b502.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d2b502.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2b502.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d2b502.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2b502.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d2b502.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2b502.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/d2b502.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2b502.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d2b502.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2b502.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/d2b502.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2b502.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d2b502.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2b502.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/d2c77c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/d2c77c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/d2c77c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/d2c77c.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d2c77c.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/d6e273.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/d6e273.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/d6e273.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/d6e273.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d6e273.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/d72b92.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl
new file mode 100644
index 0000000..b1676f7
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, u8, 8, 8>>(ptr<storage, array<u32, 1024>, read>, u32, @const bool, u32) -> subgroup_matrix<right, u8, 8, 8>
+fn subgroupMatrixLoad_d72b92() -> subgroup_matrix_right<u8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 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_d72b92(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/d72b92.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/d72b92.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/d72b92.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/d72b92.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl.expected.spvasm
new file mode 100644
index 0000000..455594c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d72b92.wgsl.expected.spvasm
@@ -0,0 +1,110 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_d72b92() -> subgroup_matrix_right<u8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 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_d72b92(), false, 64);
+}
+
+Failed to generate SPIR-V: :34:47 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>>(ptr<storage, u32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %15, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:32:7 note: in block
+ $B3: { # true
+ ^^^
+
+:50:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_right<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:46:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+sb_ro_block = struct @align(4), @block {
+ inner:SB_RO @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_ro_block, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_d72b92 = func():subgroup_matrix_right<u8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<u32, 1024>, read> = access %2, 0u, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = mul %9, 7u
+ %11:u32 = add %7, %10
+ %12:u32 = add %11, 8u
+ %13:bool = lte %12, 4096u
+ %14:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var undef
+ if %13 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<storage, u32, read> = access %6, %7
+ %16:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %15, 1u, %9, 32u
+ store %14, %16
+ exit_if # if_1
+ }
+ }
+ %17:subgroup_matrix_right<u8, 8, 8> = load %14
+ %res:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var %17
+ %19:subgroup_matrix_right<u8, 8, 8> = load %res
+ ret %19
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:subgroup_matrix_right<u8, 8, 8> = call %subgroupMatrixLoad_d72b92
+ %22:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %23:ptr<storage, u32, read_write> = access %22, 0u
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/d80c87.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/d80c87.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/d80c87.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/d80c87.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/da5d2c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/da5d2c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/da5d2c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/da5d2c.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/da5d2c.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/df0754.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl
new file mode 100644
index 0000000..e6c147f
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.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, 1024>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, i8, 8, 8>>(ptr<workgroup, array<i32, 1024>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, i8, 8, 8>
+fn subgroupMatrixLoad_df0754() -> subgroup_matrix_left<i8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_left<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i8, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_df0754(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/df0754.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/df0754.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/df0754.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/df0754.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl.expected.spvasm
new file mode 100644
index 0000000..1a175c4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/df0754.wgsl.expected.spvasm
@@ -0,0 +1,3 @@
+SKIP: TIMEOUT
+
+test timed out after 2m0s
\ No newline at end of file
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/df98ff.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/df98ff.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/df98ff.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/df98ff.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/e40231.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl
new file mode 100644
index 0000000..c8c7774
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.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>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, i8, 8, 8>>(ptr<storage, runtime_array<i32>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, i8, 8, 8>
+fn subgroupMatrixLoad_e40231() -> subgroup_matrix_result<i8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 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_e40231(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e40231.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e40231.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e40231.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e40231.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl.expected.spvasm
new file mode 100644
index 0000000..078cb99
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e40231.wgsl.expected.spvasm
@@ -0,0 +1,108 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_e40231() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i8, 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_e40231(), false, 64);
+}
+
+Failed to generate SPIR-V: :32:48 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>>(ptr<storage, i32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %17, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:30:7 note: in block
+ $B3: { # true
+ ^^^
+
+:48:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:44:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_e40231 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<i32>, read_write> = access %sb_rw, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = spirv.array_length %sb_rw, 0u
+ %11:u32 = mul %10, 4u
+ %12:u32 = mul %9, 7u
+ %13:u32 = add %7, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, %11
+ %16:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var undef
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %17:ptr<storage, i32, read_write> = access %6, %7
+ %18:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<i8, 8, 8>> %17, 1u, %9, 32u
+ store %16, %18
+ exit_if # if_1
+ }
+ }
+ %19:subgroup_matrix_result<i8, 8, 8> = load %16
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %19
+ %21:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %21
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %23:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixLoad_e40231
+ %24:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %25:ptr<storage, i32, read_write> = access %24, 0u
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl
new file mode 100644
index 0000000..97c7fba
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.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>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, u8, 8, 8>>(ptr<storage, runtime_array<u32>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, u8, 8, 8>
+fn subgroupMatrixLoad_e5381c() -> subgroup_matrix_result<u8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 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_e5381c(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e5381c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e5381c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e5381c.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e5381c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl.expected.spvasm
new file mode 100644
index 0000000..de589ef
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5381c.wgsl.expected.spvasm
@@ -0,0 +1,108 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_e5381c() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 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_e5381c(), false, 64);
+}
+
+Failed to generate SPIR-V: :32:48 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>>(ptr<storage, u32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %17, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:30:7 note: in block
+ $B3: { # true
+ ^^^
+
+:48:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:44:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_e5381c = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<u32>, read_write> = access %sb_rw, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = spirv.array_length %sb_rw, 0u
+ %11:u32 = mul %10, 4u
+ %12:u32 = mul %9, 7u
+ %13:u32 = add %7, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, %11
+ %16:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var undef
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %17:ptr<storage, u32, read_write> = access %6, %7
+ %18:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %17, 1u, %9, 32u
+ store %16, %18
+ exit_if # if_1
+ }
+ }
+ %19:subgroup_matrix_result<u8, 8, 8> = load %16
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %19
+ %21:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %21
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %23:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixLoad_e5381c
+ %24:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %25:ptr<storage, u32, read_write> = access %24, 0u
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/e5caba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/e5caba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e5caba.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/e995ba.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e995ba.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e995ba.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e995ba.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e995ba.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e995ba.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e995ba.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e995ba.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e995ba.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e995ba.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e995ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e995ba.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/e995ba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e995ba.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e995ba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e995ba.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/e995ba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e995ba.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e995ba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e995ba.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/f364a9.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl
new file mode 100644
index 0000000..854299e
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.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>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, u8, 8, 8>>(ptr<storage, runtime_array<u32>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, u8, 8, 8>
+fn subgroupMatrixLoad_f364a9() -> subgroup_matrix_right<u8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 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_f364a9(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f364a9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f364a9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f364a9.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f364a9.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl.expected.spvasm
new file mode 100644
index 0000000..b298a45
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f364a9.wgsl.expected.spvasm
@@ -0,0 +1,108 @@
+SKIP: FAILED
+
+
+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>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_f364a9() -> subgroup_matrix_right<u8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_right<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u8, 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_f364a9(), false, 64);
+}
+
+Failed to generate SPIR-V: :32:47 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>>(ptr<storage, u32, read_write>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %18:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %17, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:30:7 note: in block
+ $B3: { # true
+ ^^^
+
+:48:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_right<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:44:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_f364a9 = func():subgroup_matrix_right<u8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<u32>, read_write> = access %sb_rw, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = spirv.array_length %sb_rw, 0u
+ %11:u32 = mul %10, 4u
+ %12:u32 = mul %9, 7u
+ %13:u32 = add %7, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, %11
+ %16:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var undef
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %17:ptr<storage, u32, read_write> = access %6, %7
+ %18:subgroup_matrix_right<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_right<u8, 8, 8>> %17, 1u, %9, 32u
+ store %16, %18
+ exit_if # if_1
+ }
+ }
+ %19:subgroup_matrix_right<u8, 8, 8> = load %16
+ %res:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var %19
+ %21:subgroup_matrix_right<u8, 8, 8> = load %res
+ ret %21
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %23:subgroup_matrix_right<u8, 8, 8> = call %subgroupMatrixLoad_f364a9
+ %24:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %25:ptr<storage, u32, read_write> = access %24, 0u
+ %26:void = spirv.cooperative_matrix_store %25, %23, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/f406f6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/f406f6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/f406f6.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f406f6.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/f58623.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f58623.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f58623.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f58623.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f58623.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f58623.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f58623.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f58623.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f58623.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f58623.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f58623.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f58623.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/f58623.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f58623.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f58623.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f58623.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/f58623.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f58623.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f58623.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f58623.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/f792f5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f792f5.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f792f5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f792f5.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f792f5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f792f5.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f792f5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f792f5.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f792f5.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f792f5.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f792f5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f792f5.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/f792f5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f792f5.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f792f5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f792f5.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/f792f5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f792f5.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f792f5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f792f5.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/f86f9f.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl
new file mode 100644
index 0000000..aa279c3
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.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, 1024>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, u8, 8, 8>>(ptr<storage, array<u32, 1024>, read>, u32, @const bool, u32) -> subgroup_matrix<result, u8, 8, 8>
+fn subgroupMatrixLoad_f86f9f() -> subgroup_matrix_result<u8, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res: subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 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_f86f9f(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab752db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+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: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f86f9f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f86f9f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f86f9f.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f86f9f.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl.expected.spvasm
new file mode 100644
index 0000000..c77819b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f86f9f.wgsl.expected.spvasm
@@ -0,0 +1,110 @@
+SKIP: FAILED
+
+
+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, 1024>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_f86f9f() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 8u;
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u8, 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_f86f9f(), false, 64);
+}
+
+Failed to generate SPIR-V: :34:48 error: spirv.cooperative_matrix_load: no matching call to 'spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>>(ptr<storage, u32, read>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_load<T ✗ >(ptr<workgroup' or 'storage, S, read' or 'read_write> ✗ , u32 ✓ , u32 ✓ , u32 ✓ ) -> T' where:
+ ✗ 'T' is 'subgroup_matrix<K, S, C, R>'
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %15, 1u, %9, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:32:7 note: in block
+ $B3: { # true
+ ^^^
+
+:50:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:46:3 note: in block
+ $B4: {
+ ^^^
+
+note: # Disassembly
+SB_RO = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+sb_ro_block = struct @align(4), @block {
+ inner:SB_RO @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+ %2:ptr<storage, sb_ro_block, read> = var undef @binding_point(0, 1)
+}
+
+%subgroupMatrixLoad_f86f9f = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %arg_3:ptr<function, u32, read_write> = var 8u
+ %6:ptr<storage, array<u32, 1024>, read> = access %2, 0u, 0u
+ %7:u32 = load %arg_1
+ %8:u32 = load %arg_3
+ %9:u32 = max %8, 8u
+ %10:u32 = mul %9, 7u
+ %11:u32 = add %7, %10
+ %12:u32 = add %11, 8u
+ %13:bool = lte %12, 4096u
+ %14:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var undef
+ if %13 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<storage, u32, read> = access %6, %7
+ %16:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_load<subgroup_matrix_result<u8, 8, 8>> %15, 1u, %9, 32u
+ store %14, %16
+ exit_if # if_1
+ }
+ }
+ %17:subgroup_matrix_result<u8, 8, 8> = load %14
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %17
+ %19:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %19
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixLoad_f86f9f
+ %22:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %23:ptr<storage, u32, read_write> = access %22, 0u
+ %24:void = spirv.cooperative_matrix_store %23, %21, 0u, 64u, 32u
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/f9b989.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/f9b989.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f9b989.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/fa3c74.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/fa3c74.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/fa3c74.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/fa3c74.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/fa3c74.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/fde5b5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/fde5b5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/fde5b5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/fde5b5.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/fde5b5.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/00befb.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl
index 3bb590a..5313fec 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiply<TR: u8>(subgroup_matrix<left, u8, 8, 8>, subgroup_matrix<right, u8, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.dxc.hlsl
index 7d6926f..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.fxc.hlsl
index 7d6926f..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.glsl
index 7d6926f..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.ir.dxc.hlsl
index 7d6926f..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.ir.fxc.hlsl
index 7d6926f..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.msl
index 7d6926f..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/00befb.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.spvasm
index 7d6926f..f5e26bc 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.spvasm
@@ -1,12 +1,82 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiply_00befb() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<u8, 8, 8>();
+ var arg_1 = subgroup_matrix_right<u8, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(arg_0, arg_1);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_00befb(), false, 64);
+}
+
+Failed to generate SPIR-V: :18:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<u8, 8, 8>, subgroup_matrix_right<u8, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✗ , subgroup_matrix<right, T, C, K> ✗ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✗ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %10:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 0u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:29:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_00befb = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<u8, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<u8, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_left<u8, 8, 8> = load %arg_0
+ %8:subgroup_matrix_right<u8, 8, 8> = load %arg_1
+ %9:subgroup_matrix_result<u8, 8, 8> = construct
+ %10:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 0u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %10
+ %12:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %12
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %14:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiply_00befb
+ %15:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %16:ptr<storage, u32, read_write> = access %15, 0u
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.wgsl
index 7d6926f..2f2eca1 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl.expected.wgsl
@@ -1,12 +1,17 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/00befb.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiply_00befb() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<u8, 8, 8>();
+ var arg_1 = subgroup_matrix_right<u8, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(arg_0, arg_1);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_00befb(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl
index 2b9f56a..7e50627 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiply<TR: u8>(subgroup_matrix<left, f32, 8, 8>, subgroup_matrix<right, f32, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.dxc.hlsl
index dac4076..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.fxc.hlsl
index dac4076..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.glsl
index dac4076..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.ir.dxc.hlsl
index dac4076..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.ir.fxc.hlsl
index dac4076..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.msl
index dac4076..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/0a2c0c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.spvasm
index dac4076..56b5c11 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.spvasm
@@ -1,12 +1,82 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiply_0a2c0c() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<f32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<f32, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(arg_0, arg_1);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_0a2c0c(), false, 64);
+}
+
+Failed to generate SPIR-V: :18:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<f32, 8, 8>, subgroup_matrix_right<f32, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %10:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 0u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:29:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_0a2c0c = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<f32, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<f32, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<f32, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<f32, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_left<f32, 8, 8> = load %arg_0
+ %8:subgroup_matrix_right<f32, 8, 8> = load %arg_1
+ %9:subgroup_matrix_result<u8, 8, 8> = construct
+ %10:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 0u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %10
+ %12:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %12
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %14:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiply_0a2c0c
+ %15:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %16:ptr<storage, u32, read_write> = access %15, 0u
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.wgsl
index dac4076..578eb0e 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl.expected.wgsl
@@ -1,12 +1,17 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/0a2c0c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiply_0a2c0c() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<f32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<f32, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(arg_0, arg_1);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_0a2c0c(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/2c905b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl
index 6cc7fb5..2701681 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiply<TR: u8>(subgroup_matrix<left, i8, 8, 8>, subgroup_matrix<right, i8, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.dxc.hlsl
index 2b2c55e..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.fxc.hlsl
index 2b2c55e..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.glsl
index 2b2c55e..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.ir.dxc.hlsl
index 2b2c55e..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.ir.fxc.hlsl
index 2b2c55e..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.msl
index 2b2c55e..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/2d1894.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.spvasm
index 2b2c55e..76e12ea 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.spvasm
@@ -1,12 +1,82 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiply_2d1894() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<i8, 8, 8>();
+ var arg_1 = subgroup_matrix_right<i8, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(arg_0, arg_1);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_2d1894(), false, 64);
+}
+
+Failed to generate SPIR-V: :18:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<i8, 8, 8>, subgroup_matrix_right<i8, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✗ , subgroup_matrix<right, T, C, K> ✗ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✗ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %10:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 3u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:29:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_2d1894 = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<i8, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<i8, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_left<i8, 8, 8> = load %arg_0
+ %8:subgroup_matrix_right<i8, 8, 8> = load %arg_1
+ %9:subgroup_matrix_result<u8, 8, 8> = construct
+ %10:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 3u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %10
+ %12:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %12
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %14:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiply_2d1894
+ %15:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %16:ptr<storage, u32, read_write> = access %15, 0u
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.wgsl
index 2b2c55e..ef7b40e 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl.expected.wgsl
@@ -1,12 +1,17 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/2d1894.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiply_2d1894() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<i8, 8, 8>();
+ var arg_1 = subgroup_matrix_right<i8, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(arg_0, arg_1);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_2d1894(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl
index 6c1dffc..ed61ad4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiply<TR: u8>(subgroup_matrix<left, u32, 8, 8>, subgroup_matrix<right, u32, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.dxc.hlsl
index ddab039..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.fxc.hlsl
index ddab039..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.glsl
index ddab039..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.ir.dxc.hlsl
index ddab039..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.ir.fxc.hlsl
index ddab039..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.msl
index ddab039..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/3c0a8c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.spvasm
index ddab039..1f089c9 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.spvasm
@@ -1,12 +1,82 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiply_3c0a8c() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<u32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<u32, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(arg_0, arg_1);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_3c0a8c(), false, 64);
+}
+
+Failed to generate SPIR-V: :18:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<u32, 8, 8>, subgroup_matrix_right<u32, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %10:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 0u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:29:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_3c0a8c = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<u32, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<u32, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<u32, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<u32, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_left<u32, 8, 8> = load %arg_0
+ %8:subgroup_matrix_right<u32, 8, 8> = load %arg_1
+ %9:subgroup_matrix_result<u8, 8, 8> = construct
+ %10:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 0u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %10
+ %12:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %12
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %14:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiply_3c0a8c
+ %15:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %16:ptr<storage, u32, read_write> = access %15, 0u
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.wgsl
index ddab039..9482b3a 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl.expected.wgsl
@@ -1,12 +1,17 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/3c0a8c.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiply_3c0a8c() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<u32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<u32, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(arg_0, arg_1);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_3c0a8c(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/42abed.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl
index 4665cb5..74082d5 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiply<TR: i8>(subgroup_matrix<left, i8, 8, 8>, subgroup_matrix<right, i8, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.dxc.hlsl
index 2b163ab..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.fxc.hlsl
index 2b163ab..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.glsl
index 2b163ab..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.ir.dxc.hlsl
index 2b163ab..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.ir.fxc.hlsl
index 2b163ab..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.msl
index 2b163ab..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/43ad22.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.spvasm
index 2b163ab..92d141c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.spvasm
@@ -1,12 +1,82 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiply_43ad22() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<i8, 8, 8>();
+ var arg_1 = subgroup_matrix_right<i8, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(arg_0, arg_1);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_43ad22(), false, 64);
+}
+
+Failed to generate SPIR-V: :18:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<i8, 8, 8>, subgroup_matrix_right<i8, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✗ , subgroup_matrix<right, T, C, K> ✗ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✗ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %10:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 15u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:29:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_43ad22 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<i8, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<i8, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_left<i8, 8, 8> = load %arg_0
+ %8:subgroup_matrix_right<i8, 8, 8> = load %arg_1
+ %9:subgroup_matrix_result<i8, 8, 8> = construct
+ %10:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 15u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %10
+ %12:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %12
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %14:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiply_43ad22
+ %15:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %16:ptr<storage, i32, read_write> = access %15, 0u
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.wgsl
index 2b163ab..0749b48 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl.expected.wgsl
@@ -1,12 +1,17 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/43ad22.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiply_43ad22() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<i8, 8, 8>();
+ var arg_1 = subgroup_matrix_right<i8, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(arg_0, arg_1);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_43ad22(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl
index b056294..52d5b4e 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiply<TR: i8>(subgroup_matrix<left, u32, 8, 8>, subgroup_matrix<right, u32, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.dxc.hlsl
index 306297f..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.fxc.hlsl
index 306297f..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.glsl
index 306297f..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.ir.dxc.hlsl
index 306297f..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.ir.fxc.hlsl
index 306297f..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.msl
index 306297f..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/575915.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.spvasm
index 306297f..be27b16 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.spvasm
@@ -1,12 +1,82 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiply_575915() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<u32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<u32, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(arg_0, arg_1);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_575915(), false, 64);
+}
+
+Failed to generate SPIR-V: :18:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<u32, 8, 8>, subgroup_matrix_right<u32, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %10:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 12u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:29:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_575915 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<u32, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<u32, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<u32, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<u32, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_left<u32, 8, 8> = load %arg_0
+ %8:subgroup_matrix_right<u32, 8, 8> = load %arg_1
+ %9:subgroup_matrix_result<i8, 8, 8> = construct
+ %10:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 12u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %10
+ %12:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %12
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %14:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiply_575915
+ %15:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %16:ptr<storage, i32, read_write> = access %15, 0u
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.wgsl
index 306297f..914dd58 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl.expected.wgsl
@@ -1,12 +1,17 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/575915.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiply_575915() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<u32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<u32, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(arg_0, arg_1);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_575915(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl
index bed31dc..09bd884 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiply<TR: i8>(subgroup_matrix<left, f32, 8, 8>, subgroup_matrix<right, f32, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.dxc.hlsl
index f544df7..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.fxc.hlsl
index f544df7..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.glsl
index f544df7..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.ir.dxc.hlsl
index f544df7..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.ir.fxc.hlsl
index f544df7..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.msl
index f544df7..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/654d63.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.spvasm
index f544df7..e743684 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.spvasm
@@ -1,12 +1,82 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiply_654d63() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<f32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<f32, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(arg_0, arg_1);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_654d63(), false, 64);
+}
+
+Failed to generate SPIR-V: :18:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<f32, 8, 8>, subgroup_matrix_right<f32, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %10:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 12u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:29:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_654d63 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<f32, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<f32, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<f32, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<f32, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_left<f32, 8, 8> = load %arg_0
+ %8:subgroup_matrix_right<f32, 8, 8> = load %arg_1
+ %9:subgroup_matrix_result<i8, 8, 8> = construct
+ %10:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 12u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %10
+ %12:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %12
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %14:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiply_654d63
+ %15:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %16:ptr<storage, i32, read_write> = access %15, 0u
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.wgsl
index f544df7..d0ac1b2 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl.expected.wgsl
@@ -1,12 +1,17 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/654d63.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiply_654d63() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<f32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<f32, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(arg_0, arg_1);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_654d63(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/72085d.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl
index b349ebb..92bfb99 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl
@@ -41,7 +41,7 @@
enable chromium_experimental_subgroup_matrix;
enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiply<TR: u8>(subgroup_matrix<left, f16, 8, 8>, subgroup_matrix<right, f16, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.dxc.hlsl
index 8d58c21..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.fxc.hlsl
index 8d58c21..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.glsl
index 8d58c21..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.ir.dxc.hlsl
index 8d58c21..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.ir.fxc.hlsl
index 8d58c21..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.msl
index 8d58c21..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/72085d.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.spvasm
index 8d58c21..21b1e39 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.spvasm
@@ -1,12 +1,83 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiply_72085d() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<f16, 8, 8>();
+ var arg_1 = subgroup_matrix_right<f16, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(arg_0, arg_1);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_72085d(), false, 64);
+}
+
+Failed to generate SPIR-V: :18:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<f16, 8, 8>, subgroup_matrix_right<f16, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %10:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 0u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:29:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_72085d = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<f16, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<f16, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<f16, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<f16, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_left<f16, 8, 8> = load %arg_0
+ %8:subgroup_matrix_right<f16, 8, 8> = load %arg_1
+ %9:subgroup_matrix_result<u8, 8, 8> = construct
+ %10:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 0u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %10
+ %12:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %12
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %14:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiply_72085d
+ %15:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %16:ptr<storage, u32, read_write> = access %15, 0u
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.wgsl
index 8d58c21..46ee191 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl.expected.wgsl
@@ -1,12 +1,18 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+enable f16;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/72085d.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiply_72085d() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<f16, 8, 8>();
+ var arg_1 = subgroup_matrix_right<f16, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(arg_0, arg_1);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_72085d(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/8744bd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/8c4df3.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl
index 0b8ef91..e390320 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl
@@ -41,7 +41,7 @@
enable chromium_experimental_subgroup_matrix;
enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiply<TR: i8>(subgroup_matrix<left, f16, 8, 8>, subgroup_matrix<right, f16, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.dxc.hlsl
index a8dd570..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.fxc.hlsl
index a8dd570..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.glsl
index a8dd570..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.ir.dxc.hlsl
index a8dd570..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.ir.fxc.hlsl
index a8dd570..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.msl
index a8dd570..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/8c4df3.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.spvasm
index a8dd570..bfeb332 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.spvasm
@@ -1,12 +1,83 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiply_8c4df3() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<f16, 8, 8>();
+ var arg_1 = subgroup_matrix_right<f16, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(arg_0, arg_1);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_8c4df3(), false, 64);
+}
+
+Failed to generate SPIR-V: :18:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<f16, 8, 8>, subgroup_matrix_right<f16, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %10:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 12u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:29:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_8c4df3 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<f16, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<f16, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<f16, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<f16, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_left<f16, 8, 8> = load %arg_0
+ %8:subgroup_matrix_right<f16, 8, 8> = load %arg_1
+ %9:subgroup_matrix_result<i8, 8, 8> = construct
+ %10:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 12u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %10
+ %12:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %12
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %14:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiply_8c4df3
+ %15:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %16:ptr<storage, i32, read_write> = access %15, 0u
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.wgsl
index a8dd570..006246a 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl.expected.wgsl
@@ -1,12 +1,18 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+enable f16;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c4df3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiply_8c4df3() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<f16, 8, 8>();
+ var arg_1 = subgroup_matrix_right<f16, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(arg_0, arg_1);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_8c4df3(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/bf2e54.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/c26fb9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/d755b4.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl
index 86009c1..b17b3d5 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiply<TR: i8>(subgroup_matrix<left, u8, 8, 8>, subgroup_matrix<right, u8, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.dxc.hlsl
index 8ba45f4..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.fxc.hlsl
index 8ba45f4..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.glsl
index 8ba45f4..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.ir.dxc.hlsl
index 8ba45f4..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.ir.fxc.hlsl
index 8ba45f4..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.msl
index 8ba45f4..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/d755b4.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.spvasm
index 8ba45f4..f956454 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.spvasm
@@ -1,12 +1,82 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiply_d755b4() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<u8, 8, 8>();
+ var arg_1 = subgroup_matrix_right<u8, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(arg_0, arg_1);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_d755b4(), false, 64);
+}
+
+Failed to generate SPIR-V: :18:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<u8, 8, 8>, subgroup_matrix_right<u8, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✗ , subgroup_matrix<right, T, C, K> ✗ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✗ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %10:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 12u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:29:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_d755b4 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<u8, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<u8, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_left<u8, 8, 8> = load %arg_0
+ %8:subgroup_matrix_right<u8, 8, 8> = load %arg_1
+ %9:subgroup_matrix_result<i8, 8, 8> = construct
+ %10:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 12u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %10
+ %12:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %12
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %14:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiply_d755b4
+ %15:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %16:ptr<storage, i32, read_write> = access %15, 0u
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.wgsl
index 8ba45f4..8cdbb2c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl.expected.wgsl
@@ -1,12 +1,17 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/d755b4.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiply_d755b4() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<u8, 8, 8>();
+ var arg_1 = subgroup_matrix_right<u8, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(arg_0, arg_1);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_d755b4(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/db4ee8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/e73d14.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl
index f766338..5e9a521 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiply<TR: i8>(subgroup_matrix<left, i32, 8, 8>, subgroup_matrix<right, i32, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.dxc.hlsl
index 15e064a..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.fxc.hlsl
index 15e064a..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.glsl
index 15e064a..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.ir.dxc.hlsl
index 15e064a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.ir.fxc.hlsl
index 15e064a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.msl
index 15e064a..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/e73d14.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.spvasm
index 15e064a..e9ed706 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.spvasm
@@ -1,12 +1,82 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiply_e73d14() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<i32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<i32, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(arg_0, arg_1);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_e73d14(), false, 64);
+}
+
+Failed to generate SPIR-V: :18:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<i32, 8, 8>, subgroup_matrix_right<i32, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %10:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 15u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:29:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_e73d14 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<i32, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<i32, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<i32, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<i32, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_left<i32, 8, 8> = load %arg_0
+ %8:subgroup_matrix_right<i32, 8, 8> = load %arg_1
+ %9:subgroup_matrix_result<i8, 8, 8> = construct
+ %10:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 15u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %10
+ %12:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %12
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %14:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiply_e73d14
+ %15:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %16:ptr<storage, i32, read_write> = access %15, 0u
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.wgsl
index 15e064a..b288404 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl.expected.wgsl
@@ -1,12 +1,17 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/e73d14.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiply_e73d14() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<i32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<i32, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiply<i8>(arg_0, arg_1);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_e73d14(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl
index 5e21110..800d4fb 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiply<TR: u8>(subgroup_matrix<left, i32, 8, 8>, subgroup_matrix<right, i32, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.dxc.hlsl
index a685ce9..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.fxc.hlsl
index a685ce9..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.glsl
index a685ce9..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.ir.dxc.hlsl
index a685ce9..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.ir.fxc.hlsl
index a685ce9..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.msl
index a685ce9..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiply/f2ffd8.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.spvasm
index a685ce9..00e6d7a 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.spvasm
@@ -1,12 +1,82 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiply_f2ffd8() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<i32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<i32, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(arg_0, arg_1);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_f2ffd8(), false, 64);
+}
+
+Failed to generate SPIR-V: :18:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<i32, 8, 8>, subgroup_matrix_right<i32, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %10:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 3u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:29:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:25:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiply_f2ffd8 = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<i32, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<i32, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<i32, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<i32, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_left<i32, 8, 8> = load %arg_0
+ %8:subgroup_matrix_right<i32, 8, 8> = load %arg_1
+ %9:subgroup_matrix_result<u8, 8, 8> = construct
+ %10:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %7, %8, %9, 3u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %10
+ %12:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %12
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %14:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiply_f2ffd8
+ %15:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %16:ptr<storage, u32, read_write> = access %15, 0u
+ %17:void = spirv.cooperative_matrix_store %16, %14, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.wgsl
index a685ce9..7969093 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl.expected.wgsl
@@ -1,12 +1,17 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiply/f2ffd8.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiply_f2ffd8() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<i32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<i32, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiply<u8>(arg_0, arg_1);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiply_f2ffd8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiply/fa5318.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/052cba.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl
index 273607d..fd42831 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, u8, 8, 8>, subgroup_matrix<right, u8, 8, 8>, subgroup_matrix<result, u8, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.dxc.hlsl
index e28bfb2..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.fxc.hlsl
index e28bfb2..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.glsl
index e28bfb2..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.ir.dxc.hlsl
index e28bfb2..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.ir.fxc.hlsl
index e28bfb2..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.msl
index e28bfb2..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.spvasm
index e28bfb2..c7dc42b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.spvasm
@@ -1,12 +1,85 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_052cba() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<u8, 8, 8>();
+ var arg_1 = subgroup_matrix_right<u8, 8, 8>();
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_052cba(), false, 64);
+}
+
+Failed to generate SPIR-V: :20:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<u8, 8, 8>, subgroup_matrix_right<u8, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✗ , subgroup_matrix<right, T, C, K> ✗ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✗ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %12:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 0u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:31:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_052cba = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<u8, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<u8, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_result<u8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %7
+ %9:subgroup_matrix_left<u8, 8, 8> = load %arg_0
+ %10:subgroup_matrix_right<u8, 8, 8> = load %arg_1
+ %11:subgroup_matrix_result<u8, 8, 8> = load %arg_2
+ %12:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 0u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %12
+ %14:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %14
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %16:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_052cba
+ %17:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %18:ptr<storage, u32, read_write> = access %17, 0u
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.wgsl
index e28bfb2..b0f4597 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl.expected.wgsl
@@ -1,12 +1,18 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/052cba.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_052cba() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<u8, 8, 8>();
+ var arg_1 = subgroup_matrix_right<u8, 8, 8>();
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_052cba(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/285f57.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl
index 91d7561..cc3ada8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, i32, 8, 8>, subgroup_matrix<right, i32, 8, 8>, subgroup_matrix<result, u8, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.dxc.hlsl
index 99ac3b4..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.fxc.hlsl
index 99ac3b4..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.glsl
index 99ac3b4..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.ir.dxc.hlsl
index 99ac3b4..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.ir.fxc.hlsl
index 99ac3b4..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.msl
index 99ac3b4..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.spvasm
index 99ac3b4..f795664 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.spvasm
@@ -1,12 +1,85 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_285f57() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<i32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<i32, 8, 8>();
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_285f57(), false, 64);
+}
+
+Failed to generate SPIR-V: :20:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<i32, 8, 8>, subgroup_matrix_right<i32, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %12:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 3u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:31:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_285f57 = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<i32, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<i32, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<i32, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<i32, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_result<u8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %7
+ %9:subgroup_matrix_left<i32, 8, 8> = load %arg_0
+ %10:subgroup_matrix_right<i32, 8, 8> = load %arg_1
+ %11:subgroup_matrix_result<u8, 8, 8> = load %arg_2
+ %12:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 3u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %12
+ %14:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %14
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %16:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_285f57
+ %17:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %18:ptr<storage, u32, read_write> = access %17, 0u
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.wgsl
index 99ac3b4..f787a9a 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl.expected.wgsl
@@ -1,12 +1,18 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/285f57.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_285f57() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<i32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<i32, 8, 8>();
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_285f57(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/539dfd.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl
index ba3615b..5807680 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, u32, 8, 8>, subgroup_matrix<right, u32, 8, 8>, subgroup_matrix<result, i8, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.dxc.hlsl
index 7c4a533..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.fxc.hlsl
index 7c4a533..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.glsl
index 7c4a533..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.ir.dxc.hlsl
index 7c4a533..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.ir.fxc.hlsl
index 7c4a533..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.msl
index 7c4a533..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.spvasm
index 7c4a533..873cd4b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.spvasm
@@ -1,12 +1,85 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_539dfd() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<u32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<u32, 8, 8>();
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_539dfd(), false, 64);
+}
+
+Failed to generate SPIR-V: :20:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<u32, 8, 8>, subgroup_matrix_right<u32, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %12:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 12u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:31:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_539dfd = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<u32, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<u32, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<u32, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<u32, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_result<i8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %7
+ %9:subgroup_matrix_left<u32, 8, 8> = load %arg_0
+ %10:subgroup_matrix_right<u32, 8, 8> = load %arg_1
+ %11:subgroup_matrix_result<i8, 8, 8> = load %arg_2
+ %12:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 12u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %12
+ %14:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %14
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %16:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_539dfd
+ %17:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %18:ptr<storage, i32, read_write> = access %17, 0u
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.wgsl
index 7c4a533..0528df2 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl.expected.wgsl
@@ -1,12 +1,18 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/539dfd.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_539dfd() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<u32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<u32, 8, 8>();
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_539dfd(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl
index d6739d2..9134eff 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, i8, 8, 8>, subgroup_matrix<right, i8, 8, 8>, subgroup_matrix<result, i8, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.dxc.hlsl
index 460448b..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.fxc.hlsl
index 460448b..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.glsl
index 460448b..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.ir.dxc.hlsl
index 460448b..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.ir.fxc.hlsl
index 460448b..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.msl
index 460448b..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.spvasm
index 460448b..5612a2f 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.spvasm
@@ -1,12 +1,85 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_60df98() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<i8, 8, 8>();
+ var arg_1 = subgroup_matrix_right<i8, 8, 8>();
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_60df98(), false, 64);
+}
+
+Failed to generate SPIR-V: :20:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<i8, 8, 8>, subgroup_matrix_right<i8, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✗ , subgroup_matrix<right, T, C, K> ✗ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✗ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %12:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 15u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:31:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_60df98 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<i8, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<i8, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_result<i8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %7
+ %9:subgroup_matrix_left<i8, 8, 8> = load %arg_0
+ %10:subgroup_matrix_right<i8, 8, 8> = load %arg_1
+ %11:subgroup_matrix_result<i8, 8, 8> = load %arg_2
+ %12:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 15u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %12
+ %14:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %14
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %16:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_60df98
+ %17:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %18:ptr<storage, i32, read_write> = access %17, 0u
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.wgsl
index 460448b..3fdff7a 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl.expected.wgsl
@@ -1,12 +1,18 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/60df98.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_60df98() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<i8, 8, 8>();
+ var arg_1 = subgroup_matrix_right<i8, 8, 8>();
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_60df98(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl
index 5610818..6c65a1a 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, u32, 8, 8>, subgroup_matrix<right, u32, 8, 8>, subgroup_matrix<result, u8, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.dxc.hlsl
index 0d0f528..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.fxc.hlsl
index 0d0f528..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.glsl
index 0d0f528..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.ir.dxc.hlsl
index 0d0f528..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.ir.fxc.hlsl
index 0d0f528..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.msl
index 0d0f528..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.spvasm
index 0d0f528..a5683fc 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.spvasm
@@ -1,12 +1,85 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_6373b2() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<u32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<u32, 8, 8>();
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_6373b2(), false, 64);
+}
+
+Failed to generate SPIR-V: :20:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<u32, 8, 8>, subgroup_matrix_right<u32, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %12:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 0u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:31:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_6373b2 = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<u32, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<u32, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<u32, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<u32, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_result<u8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %7
+ %9:subgroup_matrix_left<u32, 8, 8> = load %arg_0
+ %10:subgroup_matrix_right<u32, 8, 8> = load %arg_1
+ %11:subgroup_matrix_result<u8, 8, 8> = load %arg_2
+ %12:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 0u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %12
+ %14:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %14
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %16:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_6373b2
+ %17:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %18:ptr<storage, u32, read_write> = access %17, 0u
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.wgsl
index 0d0f528..12f78b6 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl.expected.wgsl
@@ -1,12 +1,18 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6373b2.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_6373b2() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<u32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<u32, 8, 8>();
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_6373b2(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/6dc794.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl
index d5a03b8..2ef048b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, f32, 8, 8>, subgroup_matrix<right, f32, 8, 8>, subgroup_matrix<result, u8, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.dxc.hlsl
index 36a6806..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.fxc.hlsl
index 36a6806..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.glsl
index 36a6806..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.ir.dxc.hlsl
index 36a6806..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.ir.fxc.hlsl
index 36a6806..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.msl
index 36a6806..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.spvasm
index 36a6806..b2b821f 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.spvasm
@@ -1,12 +1,85 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_6dc794() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<f32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<f32, 8, 8>();
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_6dc794(), false, 64);
+}
+
+Failed to generate SPIR-V: :20:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<f32, 8, 8>, subgroup_matrix_right<f32, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %12:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 0u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:31:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_6dc794 = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<f32, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<f32, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<f32, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<f32, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_result<u8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %7
+ %9:subgroup_matrix_left<f32, 8, 8> = load %arg_0
+ %10:subgroup_matrix_right<f32, 8, 8> = load %arg_1
+ %11:subgroup_matrix_result<u8, 8, 8> = load %arg_2
+ %12:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 0u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %12
+ %14:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %14
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %16:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_6dc794
+ %17:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %18:ptr<storage, u32, read_write> = access %17, 0u
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.wgsl
index 36a6806..9d3f433 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl.expected.wgsl
@@ -1,12 +1,18 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/6dc794.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_6dc794() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<f32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<f32, 8, 8>();
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_6dc794(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/7243ef.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl
index 6e1adc2..50e1777 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl
@@ -41,7 +41,7 @@
enable chromium_experimental_subgroup_matrix;
enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, f16, 8, 8>, subgroup_matrix<right, f16, 8, 8>, subgroup_matrix<result, u8, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.dxc.hlsl
index 0bdb003..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.fxc.hlsl
index 0bdb003..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.glsl
index 0bdb003..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.ir.dxc.hlsl
index 0bdb003..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.ir.fxc.hlsl
index 0bdb003..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.msl
index 0bdb003..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.spvasm
index 0bdb003..5f34348 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.spvasm
@@ -1,12 +1,86 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_7243ef() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<f16, 8, 8>();
+ var arg_1 = subgroup_matrix_right<f16, 8, 8>();
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_7243ef(), false, 64);
+}
+
+Failed to generate SPIR-V: :20:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<f16, 8, 8>, subgroup_matrix_right<f16, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %12:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 0u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:31:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_7243ef = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<f16, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<f16, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<f16, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<f16, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_result<u8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %7
+ %9:subgroup_matrix_left<f16, 8, 8> = load %arg_0
+ %10:subgroup_matrix_right<f16, 8, 8> = load %arg_1
+ %11:subgroup_matrix_result<u8, 8, 8> = load %arg_2
+ %12:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 0u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %12
+ %14:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %14
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %16:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_7243ef
+ %17:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %18:ptr<storage, u32, read_write> = access %17, 0u
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.wgsl
index 0bdb003..3294a6b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl.expected.wgsl
@@ -1,12 +1,19 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+enable f16;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7243ef.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_7243ef() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<f16, 8, 8>();
+ var arg_1 = subgroup_matrix_right<f16, 8, 8>();
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_7243ef(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl
index 54c9f2b..5c9f95b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl
@@ -41,7 +41,7 @@
enable chromium_experimental_subgroup_matrix;
enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, f16, 8, 8>, subgroup_matrix<right, f16, 8, 8>, subgroup_matrix<result, i8, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.dxc.hlsl
index 5511a5c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.fxc.hlsl
index 5511a5c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.glsl
index 5511a5c..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.ir.dxc.hlsl
index 5511a5c..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.ir.fxc.hlsl
index 5511a5c..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.msl
index 5511a5c..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.spvasm
index 5511a5c..a3bb2ff 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.spvasm
@@ -1,12 +1,86 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_7e4ad3() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<f16, 8, 8>();
+ var arg_1 = subgroup_matrix_right<f16, 8, 8>();
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_7e4ad3(), false, 64);
+}
+
+Failed to generate SPIR-V: :20:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<f16, 8, 8>, subgroup_matrix_right<f16, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %12:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 12u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:31:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_7e4ad3 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<f16, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<f16, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<f16, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<f16, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_result<i8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %7
+ %9:subgroup_matrix_left<f16, 8, 8> = load %arg_0
+ %10:subgroup_matrix_right<f16, 8, 8> = load %arg_1
+ %11:subgroup_matrix_result<i8, 8, 8> = load %arg_2
+ %12:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 12u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %12
+ %14:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %14
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %16:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_7e4ad3
+ %17:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %18:ptr<storage, i32, read_write> = access %17, 0u
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.wgsl
index 5511a5c..12ac507 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl.expected.wgsl
@@ -1,12 +1,19 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+enable f16;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7e4ad3.wgsl:44:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_7e4ad3() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<f16, 8, 8>();
+ var arg_1 = subgroup_matrix_right<f16, 8, 8>();
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_7e4ad3(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl
index aaf81f8..10dbdbe 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, u8, 8, 8>, subgroup_matrix<right, u8, 8, 8>, subgroup_matrix<result, i8, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.dxc.hlsl
index e34c473..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.fxc.hlsl
index e34c473..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.glsl
index e34c473..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.ir.dxc.hlsl
index e34c473..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.ir.fxc.hlsl
index e34c473..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.msl
index e34c473..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.spvasm
index e34c473..95646f7 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.spvasm
@@ -1,12 +1,85 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_8d3bc5() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<u8, 8, 8>();
+ var arg_1 = subgroup_matrix_right<u8, 8, 8>();
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_8d3bc5(), false, 64);
+}
+
+Failed to generate SPIR-V: :20:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<u8, 8, 8>, subgroup_matrix_right<u8, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✗ , subgroup_matrix<right, T, C, K> ✗ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✗ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %12:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 12u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:31:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_8d3bc5 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<u8, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<u8, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_result<i8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %7
+ %9:subgroup_matrix_left<u8, 8, 8> = load %arg_0
+ %10:subgroup_matrix_right<u8, 8, 8> = load %arg_1
+ %11:subgroup_matrix_result<i8, 8, 8> = load %arg_2
+ %12:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 12u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %12
+ %14:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %14
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %16:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_8d3bc5
+ %17:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %18:ptr<storage, i32, read_write> = access %17, 0u
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.wgsl
index e34c473..10d8f5b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl.expected.wgsl
@@ -1,12 +1,18 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d3bc5.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_8d3bc5() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<u8, 8, 8>();
+ var arg_1 = subgroup_matrix_right<u8, 8, 8>();
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_8d3bc5(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl
index 945a98c..c6bbe86 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, i8, 8, 8>, subgroup_matrix<right, i8, 8, 8>, subgroup_matrix<result, u8, 8, 8>) -> subgroup_matrix<result, u8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.dxc.hlsl
index f786eff..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.fxc.hlsl
index f786eff..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.glsl
index f786eff..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.ir.dxc.hlsl
index f786eff..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.ir.fxc.hlsl
index f786eff..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.msl
index f786eff..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.spvasm
index f786eff..cb05099 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.spvasm
@@ -1,12 +1,85 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_8d9ee6() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<i8, 8, 8>();
+ var arg_1 = subgroup_matrix_right<i8, 8, 8>();
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_8d9ee6(), false, 64);
+}
+
+Failed to generate SPIR-V: :20:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<i8, 8, 8>, subgroup_matrix_right<i8, 8, 8>, subgroup_matrix_result<u8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✗ , subgroup_matrix<right, T, C, K> ✗ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✗ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %12:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 3u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:31:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<u32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_8d9ee6 = func():subgroup_matrix_result<u8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<i8, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<i8, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_result<u8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %7
+ %9:subgroup_matrix_left<i8, 8, 8> = load %arg_0
+ %10:subgroup_matrix_right<i8, 8, 8> = load %arg_1
+ %11:subgroup_matrix_result<u8, 8, 8> = load %arg_2
+ %12:subgroup_matrix_result<u8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 3u
+ %res:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %12
+ %14:subgroup_matrix_result<u8, 8, 8> = load %res
+ ret %14
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %16:subgroup_matrix_result<u8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_8d9ee6
+ %17:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u
+ %18:ptr<storage, u32, read_write> = access %17, 0u
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.wgsl
index f786eff..b0dc31d 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl.expected.wgsl
@@ -1,12 +1,18 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:62 error: type 'u8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8d9ee6.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_8d9ee6() -> subgroup_matrix_result<u8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<i8, 8, 8>();
+ var arg_1 = subgroup_matrix_right<i8, 8, 8>();
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ var res : subgroup_matrix_result<u8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_8d9ee6(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/c06703.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl
index dda1d00..0d9ed4f 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, i32, 8, 8>, subgroup_matrix<right, i32, 8, 8>, subgroup_matrix<result, i8, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.dxc.hlsl
index 6ffd7b8..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.fxc.hlsl
index 6ffd7b8..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.glsl
index 6ffd7b8..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.ir.dxc.hlsl
index 6ffd7b8..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.ir.fxc.hlsl
index 6ffd7b8..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.msl
index 6ffd7b8..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.spvasm
index 6ffd7b8..2d93441 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.spvasm
@@ -1,12 +1,85 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_c06703() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<i32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<i32, 8, 8>();
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_c06703(), false, 64);
+}
+
+Failed to generate SPIR-V: :20:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<i32, 8, 8>, subgroup_matrix_right<i32, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %12:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 15u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:31:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_c06703 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<i32, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<i32, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<i32, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<i32, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_result<i8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %7
+ %9:subgroup_matrix_left<i32, 8, 8> = load %arg_0
+ %10:subgroup_matrix_right<i32, 8, 8> = load %arg_1
+ %11:subgroup_matrix_result<i8, 8, 8> = load %arg_2
+ %12:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 15u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %12
+ %14:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %14
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %16:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_c06703
+ %17:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %18:ptr<storage, i32, read_write> = access %17, 0u
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.wgsl
index 6ffd7b8..24bd546 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl.expected.wgsl
@@ -1,12 +1,18 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c06703.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_c06703() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<i32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<i32, 8, 8>();
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_c06703(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl
index e246b6d..bc39b35 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl
@@ -39,7 +39,7 @@
enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
// fn subgroupMatrixMultiplyAccumulate(subgroup_matrix<left, f32, 8, 8>, subgroup_matrix<right, f32, 8, 8>, subgroup_matrix<result, i8, 8, 8>) -> subgroup_matrix<result, i8, 8, 8>
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.dxc.hlsl
index 44a1f67..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.dxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.fxc.hlsl
index 44a1f67..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.fxc.hlsl
@@ -1,12 +1,12 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+..\..\src\tint\lang\wgsl\ast\transform\transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
-
-tint executable returned error: exit status 1
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.glsl
index 44a1f67..117d674 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.glsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.ir.dxc.hlsl
index 44a1f67..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.ir.dxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.ir.fxc.hlsl
index 44a1f67..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.ir.fxc.hlsl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.msl
index 44a1f67..2725cb8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.msl
@@ -1,12 +1,5 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+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/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.spvasm
index 44a1f67..68fff2c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.spvasm
@@ -1,12 +1,85 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+fn subgroupMatrixMultiplyAccumulate_cc4602() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<f32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<f32, 8, 8>();
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_cc4602(), false, 64);
+}
+
+Failed to generate SPIR-V: :20:44 error: spirv.cooperative_matrix_mul_add: no matching call to 'spirv.cooperative_matrix_mul_add(subgroup_matrix_left<f32, 8, 8>, subgroup_matrix_right<f32, 8, 8>, subgroup_matrix_result<i8, 8, 8>, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_mul_add(subgroup_matrix<left, T, K, R> ✓ , subgroup_matrix<right, T, C, K> ✓ , subgroup_matrix<result, TR, C, R> ✗ , u32 ✓ ) -> subgroup_matrix<result, TR, C, R>' where:
+ ✓ 'T' is 'f32', 'f16', 'u32' or 'i32'
+ ✗ 'TR' is 'f32', 'f16', 'u32' or 'i32'
+
+ %12:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 12u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:10:3 note: in block
+ $B2: {
+ ^^^
+
+:31:16 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:3 note: in block
+ $B3: {
+ ^^^
+
+note: # Disassembly
+prevent_dce_block = struct @align(4), @block {
+ inner:array<i32, 1024> @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, prevent_dce_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixMultiplyAccumulate_cc4602 = func():subgroup_matrix_result<i8, 8, 8> {
+ $B2: {
+ %3:subgroup_matrix_left<f32, 8, 8> = construct
+ %arg_0:ptr<function, subgroup_matrix_left<f32, 8, 8>, read_write> = var %3
+ %5:subgroup_matrix_right<f32, 8, 8> = construct
+ %arg_1:ptr<function, subgroup_matrix_right<f32, 8, 8>, read_write> = var %5
+ %7:subgroup_matrix_result<i8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %7
+ %9:subgroup_matrix_left<f32, 8, 8> = load %arg_0
+ %10:subgroup_matrix_right<f32, 8, 8> = load %arg_1
+ %11:subgroup_matrix_result<i8, 8, 8> = load %arg_2
+ %12:subgroup_matrix_result<i8, 8, 8> = spirv.cooperative_matrix_mul_add %9, %10, %11, 12u
+ %res:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %12
+ %14:subgroup_matrix_result<i8, 8, 8> = load %res
+ ret %14
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B3: {
+ %16:subgroup_matrix_result<i8, 8, 8> = call %subgroupMatrixMultiplyAccumulate_cc4602
+ %17:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u
+ %18:ptr<storage, i32, read_write> = access %17, 0u
+ %19:void = spirv.cooperative_matrix_store %18, %16, 0u, 64u, 32u
+ ret
+ }
+}
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.wgsl
index 44a1f67..3100c18 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.wgsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl.expected.wgsl
@@ -1,12 +1,18 @@
SKIP: FAILED
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:62 error: type 'i8' cannot be used in address space 'storage' as it is non-host-shareable
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^
+enable chromium_experimental_subgroup_matrix;
-<dawn>/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/cc4602.wgsl:42:23 note: while instantiating 'var' prevent_dce
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i8, 1024>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+fn subgroupMatrixMultiplyAccumulate_cc4602() -> subgroup_matrix_result<i8, 8, 8> {
+ var arg_0 = subgroup_matrix_left<f32, 8, 8>();
+ var arg_1 = subgroup_matrix_right<f32, 8, 8>();
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ var res : subgroup_matrix_result<i8, 8, 8> = subgroupMatrixMultiplyAccumulate(arg_0, arg_1, arg_2);
+ return res;
+}
-tint executable returned error: exit status 1
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_cc4602(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.dxc.hlsl
index 3cd8b8c..ab752db 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.fxc.hlsl
index 48f5b71..8f74faf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+..\..\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. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+subgroup matrices are not supported by the GLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+subgroup matrices are not supported by the HLSL backend
tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/0268e9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0268e9.wgsl.expected.dxc.hlsl
index 91d6b24..f7299a2 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/0268e9.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/0268e9.wgsl.expected.dxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_left<f32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0268e9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0268e9.wgsl.expected.fxc.hlsl
index 816291a..c22ea8b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/0268e9.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/0268e9.wgsl.expected.fxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_left<f32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0268e9.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0268e9.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/0268e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/0268e9.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/0268e9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0268e9.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/0268e9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/0268e9.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/0268e9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0268e9.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/0268e9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/0268e9.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/0413f0.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0413f0.wgsl.expected.dxc.hlsl
index b4fb505..89d0e29 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/0413f0.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/0413f0.wgsl.expected.dxc.hlsl
@@ -10,7 +10,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_right<f16, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0413f0.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0413f0.wgsl.expected.fxc.hlsl
index 64b98b4..1c8fae3 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/0413f0.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/0413f0.wgsl.expected.fxc.hlsl
@@ -10,7 +10,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_right<f16, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0413f0.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0413f0.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/0413f0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/0413f0.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/0413f0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0413f0.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/0413f0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/0413f0.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/0413f0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0413f0.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/0413f0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/0413f0.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/1383a5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl.expected.dxc.hlsl
index e7fcd2a..97e7b5f 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl.expected.dxc.hlsl
@@ -14,7 +14,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_right<f16, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -25,11 +25,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl:55:3 error: no matching call to 'subgroupMatrixStore(array<f16, 1024>, u32, subgroup_matrix_right<f16, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl.expected.fxc.hlsl
index db9a1a0..8fb45f4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl.expected.fxc.hlsl
@@ -14,7 +14,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_right<f16, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -25,11 +25,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl:55:3 error: no matching call to 'subgroupMatrixStore(array<f16, 1024>, u32, subgroup_matrix_right<f16, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/1383a5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/1383a5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/1383a5.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/1433f9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.dxc.hlsl
index ea97ec6..06fc27f 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.dxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_left<i32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.fxc.hlsl
index da77d62..6cf3cd3 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.fxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_left<i32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/1433f9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/1433f9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/1433f9.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/1433f9.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/152780.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl
new file mode 100644
index 0000000..343f8f8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/152780.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>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, runtime_array<u32>, read_write>, u32, subgroup_matrix<result, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_152780() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_152780();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/152780.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/152780.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/152780.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/152780.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl.expected.spvasm
new file mode 100644
index 0000000..cd9ca20
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/152780.wgsl.expected.spvasm
@@ -0,0 +1,82 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_152780() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_152780();
+}
+
+Failed to generate SPIR-V: :29:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %9, 1u, %11, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+$B1: { # root
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_152780 = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_result<u8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:ptr<storage, array<u32>, read_write> = access %sb_rw, 0u
+ %8:u32 = load %arg_1
+ %9:subgroup_matrix_result<u8, 8, 8> = load %arg_2
+ %10:u32 = load %arg_4
+ %11:u32 = max %10, 8u
+ %12:u32 = spirv.array_length %sb_rw, 0u
+ %13:u32 = mul %12, 4u
+ %14:u32 = mul %11, 7u
+ %15:u32 = add %8, %14
+ %16:u32 = add %15, 8u
+ %17:bool = lte %16, %13
+ if %17 [t: $B3] { # if_1
+ $B3: { # true
+ %18:ptr<storage, u32, read_write> = access %7, %8
+ %19:void = spirv.cooperative_matrix_store %18, %9, 1u, %11, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:void = call %subgroupMatrixStore_152780
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl
new file mode 100644
index 0000000..e2bac18
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.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>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, runtime_array<i32>, read_write>, u32, subgroup_matrix<left, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_2025c4() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_2025c4();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/2025c4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/2025c4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/2025c4.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/2025c4.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl.expected.spvasm
new file mode 100644
index 0000000..9c6424d
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2025c4.wgsl.expected.spvasm
@@ -0,0 +1,82 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_2025c4() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_2025c4();
+}
+
+Failed to generate SPIR-V: :29:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_left<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %9, 1u, %11, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+$B1: { # root
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_2025c4 = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_left<i8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:ptr<storage, array<i32>, read_write> = access %sb_rw, 0u
+ %8:u32 = load %arg_1
+ %9:subgroup_matrix_left<i8, 8, 8> = load %arg_2
+ %10:u32 = load %arg_4
+ %11:u32 = max %10, 8u
+ %12:u32 = spirv.array_length %sb_rw, 0u
+ %13:u32 = mul %12, 4u
+ %14:u32 = mul %11, 7u
+ %15:u32 = add %8, %14
+ %16:u32 = add %15, 8u
+ %17:bool = lte %16, %13
+ if %17 [t: $B3] { # if_1
+ $B3: { # true
+ %18:ptr<storage, i32, read_write> = access %7, %8
+ %19:void = spirv.cooperative_matrix_store %18, %9, 1u, %11, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:void = call %subgroupMatrixStore_2025c4
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.dxc.hlsl
index 8b4da1c..f1e9847 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.dxc.hlsl
@@ -14,7 +14,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_result<f16, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -25,11 +25,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl:55:3 error: no matching call to 'subgroupMatrixStore(array<f16, 1024>, u32, subgroup_matrix_result<f16, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.fxc.hlsl
index 84e5559..8f31eef 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.fxc.hlsl
@@ -14,7 +14,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_result<f16, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -25,11 +25,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl:55:3 error: no matching call to 'subgroupMatrixStore(array<f16, 1024>, u32, subgroup_matrix_result<f16, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/22077b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/22077b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/22077b.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/2d78d3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/2d78d3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/2d78d3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/2d78d3.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/3ea76e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/3ea76e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/3ea76e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/3ea76e.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/43b7fd.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.wgsl
new file mode 100644
index 0000000..ab90f8e
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.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, 1024>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<u32, 1024>, read_write>, u32, subgroup_matrix<right, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_43b7fd() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_43b7fd();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..43e6cf4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.wgsl.expected.dxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_43b7fd() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_43b7fd();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.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/43b7fd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..43e6cf4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.wgsl.expected.fxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_43b7fd() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_43b7fd();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.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/43b7fd.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/43b7fd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/43b7fd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/43b7fd.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/43b7fd.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.wgsl.expected.spvasm
new file mode 100644
index 0000000..e8d02de
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/43b7fd.wgsl.expected.spvasm
@@ -0,0 +1,92 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_43b7fd() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_43b7fd();
+}
+
+Failed to generate SPIR-V: :22:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<workgroup, u32, read_write>, subgroup_matrix_right<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:void = spirv.cooperative_matrix_store %15, %8, 1u, %10, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+$B1: { # root
+ %arg_0:ptr<workgroup, array<u32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixStore_43b7fd = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_right<u8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:u32 = load %arg_1
+ %8:subgroup_matrix_right<u8, 8, 8> = load %arg_2
+ %9:u32 = load %arg_4
+ %10:u32 = max %9, 8u
+ %11:u32 = mul %10, 7u
+ %12:u32 = add %7, %11
+ %13:u32 = add %12, 8u
+ %14:bool = lte %13, 4096u
+ if %14 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<workgroup, u32, read_write> = access %arg_0, %7
+ %16:void = spirv.cooperative_matrix_store %15, %8, 1u, %10, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B4: {
+ loop [i: $B5, b: $B6, c: $B7] { # loop_1
+ $B5: { # initializer
+ next_iteration %tint_local_index # -> $B6
+ }
+ $B6 (%idx:u32): { # body
+ %20:bool = gte %idx, 1024u
+ if %20 [t: $B8] { # if_2
+ $B8: { # true
+ exit_loop # loop_1
+ }
+ }
+ %21:ptr<workgroup, u32, read_write> = access %arg_0, %idx
+ store %21, 0u
+ continue # -> $B7
+ }
+ $B7: { # continuing
+ %22:u32 = add %idx, 1u
+ next_iteration %22 # -> $B6
+ }
+ }
+ %23:void = workgroupBarrier
+ %24:void = call %subgroupMatrixStore_43b7fd
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.wgsl
new file mode 100644
index 0000000..b46282a
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.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, 1024>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<i32, 1024>, read_write>, u32, subgroup_matrix<right, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_443b6c() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_443b6c();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3884e4b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_443b6c() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_443b6c();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.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/443b6c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..3884e4b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_443b6c() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_443b6c();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.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/443b6c.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/443b6c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/443b6c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/443b6c.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/443b6c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.wgsl.expected.spvasm
new file mode 100644
index 0000000..f3992af
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/443b6c.wgsl.expected.spvasm
@@ -0,0 +1,92 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_443b6c() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_443b6c();
+}
+
+Failed to generate SPIR-V: :22:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<workgroup, i32, read_write>, subgroup_matrix_right<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:void = spirv.cooperative_matrix_store %15, %8, 1u, %10, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+$B1: { # root
+ %arg_0:ptr<workgroup, array<i32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixStore_443b6c = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_right<i8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:u32 = load %arg_1
+ %8:subgroup_matrix_right<i8, 8, 8> = load %arg_2
+ %9:u32 = load %arg_4
+ %10:u32 = max %9, 8u
+ %11:u32 = mul %10, 7u
+ %12:u32 = add %7, %11
+ %13:u32 = add %12, 8u
+ %14:bool = lte %13, 4096u
+ if %14 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<workgroup, i32, read_write> = access %arg_0, %7
+ %16:void = spirv.cooperative_matrix_store %15, %8, 1u, %10, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B4: {
+ loop [i: $B5, b: $B6, c: $B7] { # loop_1
+ $B5: { # initializer
+ next_iteration %tint_local_index # -> $B6
+ }
+ $B6 (%idx:u32): { # body
+ %20:bool = gte %idx, 1024u
+ if %20 [t: $B8] { # if_2
+ $B8: { # true
+ exit_loop # loop_1
+ }
+ }
+ %21:ptr<workgroup, i32, read_write> = access %arg_0, %idx
+ store %21, 0i
+ continue # -> $B7
+ }
+ $B7: { # continuing
+ %22:u32 = add %idx, 1u
+ next_iteration %22 # -> $B6
+ }
+ }
+ %23:void = workgroupBarrier
+ %24:void = call %subgroupMatrixStore_443b6c
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.dxc.hlsl
index 8798db0..4130a72 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.dxc.hlsl
@@ -10,7 +10,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_left<f16, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.fxc.hlsl
index 70ad5f9..2c648ca 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.fxc.hlsl
@@ -10,7 +10,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_left<f16, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/45de0c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/45de0c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/45de0c.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/476cdf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/476cdf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/476cdf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/476cdf.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/47cd26.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.dxc.hlsl
index 2e0e899..afc0444 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.dxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_left<i32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_left<i32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.fxc.hlsl
index 1ac97c9..0d5ab7d 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.fxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_left<i32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_left<i32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/47cd26.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/47cd26.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/47cd26.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/47cd26.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/4980a5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.dxc.hlsl
index 572dc27..0f051c9 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.dxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_result<u32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_result<u32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.fxc.hlsl
index 768cea4..930995b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.fxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_result<u32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_result<u32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/4980a5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/4980a5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/4980a5.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/4980a5.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/543411.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/543411.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/543411.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/60099d.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl
new file mode 100644
index 0000000..0045ea8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.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, 1024>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<i32, 1024>, read_write>, u32, subgroup_matrix<result, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_60099d() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_60099d();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..57a05cb
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl.expected.dxc.hlsl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_60099d() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_60099d();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_result<i8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+
+ 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/60099d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..57a05cb
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl.expected.fxc.hlsl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_60099d() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_60099d();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_result<i8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+
+ 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/60099d.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/60099d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/60099d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/60099d.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/60099d.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl.expected.spvasm
new file mode 100644
index 0000000..1d93f62
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/60099d.wgsl.expected.spvasm
@@ -0,0 +1,84 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_60099d() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_60099d();
+}
+
+Failed to generate SPIR-V: :31:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %9, 1u, %11, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_60099d = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_result<i8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u, 0u
+ %8:u32 = load %arg_1
+ %9:subgroup_matrix_result<i8, 8, 8> = load %arg_2
+ %10:u32 = load %arg_4
+ %11:u32 = max %10, 8u
+ %12:u32 = mul %11, 7u
+ %13:u32 = add %8, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, 4096u
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %16:ptr<storage, i32, read_write> = access %7, %8
+ %17:void = spirv.cooperative_matrix_store %16, %9, 1u, %11, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %19:void = call %subgroupMatrixStore_60099d
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.dxc.hlsl
index ba8eaff..80bc386 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.dxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_left<u32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.fxc.hlsl
index 45adefd..9448a2c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.fxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_left<u32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/62c1b6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/62c1b6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/62c1b6.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/62c1b6.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/6578da.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.dxc.hlsl
index f09a4f9..3498afe 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.dxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_result<i32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.fxc.hlsl
index c81e860..7472530 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.fxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_result<i32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/6578da.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/6578da.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/6578da.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/6578da.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/6d8de7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/6d8de7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/6d8de7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/716ef7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.dxc.hlsl
index 652ddde..ed439d8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.dxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_right<u32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.fxc.hlsl
index af41227..0e3b7ab 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.fxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_right<u32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/716ef7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/716ef7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/716ef7.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/716ef7.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/72f3af.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.dxc.hlsl
index 40d8e3c..62683b5 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.dxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_right<u32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_right<u32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.fxc.hlsl
index 70a7956..ed0b232 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.fxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_right<u32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_right<u32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/72f3af.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/72f3af.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/72f3af.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/72f3af.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/840822.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/840822.wgsl.expected.dxc.hlsl
index 8442199..d9d38d4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/840822.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/840822.wgsl.expected.dxc.hlsl
@@ -10,7 +10,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_result<f16, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/840822.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/840822.wgsl.expected.fxc.hlsl
index eda65e3..49a458b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/840822.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/840822.wgsl.expected.fxc.hlsl
@@ -10,7 +10,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_result<f16, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/840822.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/840822.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/840822.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/840822.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/840822.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/840822.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/840822.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/840822.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/840822.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/840822.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/840822.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/840822.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/85667d.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl
new file mode 100644
index 0000000..e229517
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.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>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, runtime_array<i32>, read_write>, u32, subgroup_matrix<right, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_85667d() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_85667d();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/85667d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/85667d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/85667d.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/85667d.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl.expected.spvasm
new file mode 100644
index 0000000..321a089
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/85667d.wgsl.expected.spvasm
@@ -0,0 +1,82 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_85667d() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_85667d();
+}
+
+Failed to generate SPIR-V: :29:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_right<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %9, 1u, %11, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+$B1: { # root
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_85667d = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_right<i8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:ptr<storage, array<i32>, read_write> = access %sb_rw, 0u
+ %8:u32 = load %arg_1
+ %9:subgroup_matrix_right<i8, 8, 8> = load %arg_2
+ %10:u32 = load %arg_4
+ %11:u32 = max %10, 8u
+ %12:u32 = spirv.array_length %sb_rw, 0u
+ %13:u32 = mul %12, 4u
+ %14:u32 = mul %11, 7u
+ %15:u32 = add %8, %14
+ %16:u32 = add %15, 8u
+ %17:bool = lte %16, %13
+ if %17 [t: $B3] { # if_1
+ $B3: { # true
+ %18:ptr<storage, i32, read_write> = access %7, %8
+ %19:void = spirv.cooperative_matrix_store %18, %9, 1u, %11, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:void = call %subgroupMatrixStore_85667d
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.dxc.hlsl
index 09815b6..dbb7a37 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.dxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_result<u32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.fxc.hlsl
index 241a580..e3ecc7f 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.fxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_result<u32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/865820.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/865820.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/865820.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/865820.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/8a88da.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.wgsl
new file mode 100644
index 0000000..6979b29
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.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, 1024>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<u32, 1024>, read_write>, u32, subgroup_matrix<result, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_8a88da() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_8a88da();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..40b7a00
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.wgsl.expected.dxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_8a88da() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_8a88da();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.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/8a88da.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..40b7a00
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.wgsl.expected.fxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_8a88da() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_8a88da();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.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/8a88da.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/8a88da.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/8a88da.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/8a88da.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/8a88da.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.wgsl.expected.spvasm
new file mode 100644
index 0000000..850d4e2
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8a88da.wgsl.expected.spvasm
@@ -0,0 +1,92 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_8a88da() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_8a88da();
+}
+
+Failed to generate SPIR-V: :22:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<workgroup, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:void = spirv.cooperative_matrix_store %15, %8, 1u, %10, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+$B1: { # root
+ %arg_0:ptr<workgroup, array<u32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixStore_8a88da = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_result<u8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:u32 = load %arg_1
+ %8:subgroup_matrix_result<u8, 8, 8> = load %arg_2
+ %9:u32 = load %arg_4
+ %10:u32 = max %9, 8u
+ %11:u32 = mul %10, 7u
+ %12:u32 = add %7, %11
+ %13:u32 = add %12, 8u
+ %14:bool = lte %13, 4096u
+ if %14 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<workgroup, u32, read_write> = access %arg_0, %7
+ %16:void = spirv.cooperative_matrix_store %15, %8, 1u, %10, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B4: {
+ loop [i: $B5, b: $B6, c: $B7] { # loop_1
+ $B5: { # initializer
+ next_iteration %tint_local_index # -> $B6
+ }
+ $B6 (%idx:u32): { # body
+ %20:bool = gte %idx, 1024u
+ if %20 [t: $B8] { # if_2
+ $B8: { # true
+ exit_loop # loop_1
+ }
+ }
+ %21:ptr<workgroup, u32, read_write> = access %arg_0, %idx
+ store %21, 0u
+ continue # -> $B7
+ }
+ $B7: { # continuing
+ %22:u32 = add %idx, 1u
+ next_iteration %22 # -> $B6
+ }
+ }
+ %23:void = workgroupBarrier
+ %24:void = call %subgroupMatrixStore_8a88da
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/8c59ed.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/8c59ed.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/8c59ed.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/9991c3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.dxc.hlsl
index 8134e43..ec36d8d 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.dxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_right<i32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_right<i32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.fxc.hlsl
index 003de50..2e3755c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.fxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_right<i32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_right<i32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/9991c3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/9991c3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/9991c3.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9991c3.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/9b9975.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl
new file mode 100644
index 0000000..c087754
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.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, 1024>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<u32, 1024>, read_write>, u32, subgroup_matrix<left, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_9b9975() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9b9975();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..7e1e675
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl.expected.dxc.hlsl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9b9975() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9b9975();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_left<u8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+
+ 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/9b9975.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..7e1e675
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl.expected.fxc.hlsl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9b9975() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9b9975();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_left<u8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+
+ 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/9b9975.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9b9975.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9b9975.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9b9975.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/9b9975.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl.expected.spvasm
new file mode 100644
index 0000000..daea0df
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9b9975.wgsl.expected.spvasm
@@ -0,0 +1,84 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9b9975() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9b9975();
+}
+
+Failed to generate SPIR-V: :31:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_left<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %9, 1u, %11, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_9b9975 = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_left<u8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u, 0u
+ %8:u32 = load %arg_1
+ %9:subgroup_matrix_left<u8, 8, 8> = load %arg_2
+ %10:u32 = load %arg_4
+ %11:u32 = max %10, 8u
+ %12:u32 = mul %11, 7u
+ %13:u32 = add %8, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, 4096u
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %16:ptr<storage, u32, read_write> = access %7, %8
+ %17:void = spirv.cooperative_matrix_store %16, %9, 1u, %11, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %19:void = call %subgroupMatrixStore_9b9975
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.dxc.hlsl
index 5961308..d99edc4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.dxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_result<f32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.fxc.hlsl
index 47f5536..a8b25cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.fxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_result<f32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/a3ed32.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/a3ed32.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a3ed32.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/a50ea0.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl.expected.dxc.hlsl
index 89f90c8..817121c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl.expected.dxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_right<f32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<f32, 1024>, u32, subgroup_matrix_right<f32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl.expected.fxc.hlsl
index 78ca0591..05bf325 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl.expected.fxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_right<f32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<f32, 1024>, u32, subgroup_matrix_right<f32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/a50ea0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/a50ea0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a50ea0.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/a50fc4.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl
new file mode 100644
index 0000000..1d4d97b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.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>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, runtime_array<u32>, read_write>, u32, subgroup_matrix<right, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_a50fc4() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_a50fc4();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/a50fc4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/a50fc4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/a50fc4.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/a50fc4.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl.expected.spvasm
new file mode 100644
index 0000000..860ba53
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/a50fc4.wgsl.expected.spvasm
@@ -0,0 +1,82 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_a50fc4() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_a50fc4();
+}
+
+Failed to generate SPIR-V: :29:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_right<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %9, 1u, %11, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+$B1: { # root
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_a50fc4 = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_right<u8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:ptr<storage, array<u32>, read_write> = access %sb_rw, 0u
+ %8:u32 = load %arg_1
+ %9:subgroup_matrix_right<u8, 8, 8> = load %arg_2
+ %10:u32 = load %arg_4
+ %11:u32 = max %10, 8u
+ %12:u32 = spirv.array_length %sb_rw, 0u
+ %13:u32 = mul %12, 4u
+ %14:u32 = mul %11, 7u
+ %15:u32 = add %8, %14
+ %16:u32 = add %15, 8u
+ %17:bool = lte %16, %13
+ if %17 [t: $B3] { # if_1
+ $B3: { # true
+ %18:ptr<storage, u32, read_write> = access %7, %8
+ %19:void = spirv.cooperative_matrix_store %18, %9, 1u, %11, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:void = call %subgroupMatrixStore_a50fc4
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.dxc.hlsl
index 7ab8023..7c271e5 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.dxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_result<f32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<f32, 1024>, u32, subgroup_matrix_result<f32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.fxc.hlsl
index 2cc165b..cde00ad 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.fxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_result<f32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<f32, 1024>, u32, subgroup_matrix_result<f32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/acb4b7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/acb4b7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/acb4b7.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/adbc3e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/adbc3e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/adbc3e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/bb2478.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/bb2478.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/bb2478.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/bb5d49.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/bb5d49.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/bb5d49.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/bfe106.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/bfe106.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/bfe106.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/c18bf3.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl
new file mode 100644
index 0000000..b8750c3
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.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, 1024>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<u32, 1024>, read_write>, u32, subgroup_matrix<right, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_c18bf3() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c18bf3();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..f3ab6f3
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_c18bf3() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c18bf3();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_right<u8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+
+ 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/c18bf3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..f3ab6f3
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_c18bf3() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c18bf3();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_right<u8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+
+ 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/c18bf3.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c18bf3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c18bf3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c18bf3.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c18bf3.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl.expected.spvasm
new file mode 100644
index 0000000..ea198fc
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c18bf3.wgsl.expected.spvasm
@@ -0,0 +1,84 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_c18bf3() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c18bf3();
+}
+
+Failed to generate SPIR-V: :31:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_right<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %9, 1u, %11, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_c18bf3 = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_right<u8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_right<u8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u, 0u
+ %8:u32 = load %arg_1
+ %9:subgroup_matrix_right<u8, 8, 8> = load %arg_2
+ %10:u32 = load %arg_4
+ %11:u32 = max %10, 8u
+ %12:u32 = mul %11, 7u
+ %13:u32 = add %8, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, 4096u
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %16:ptr<storage, u32, read_write> = access %7, %8
+ %17:void = spirv.cooperative_matrix_store %16, %9, 1u, %11, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %19:void = call %subgroupMatrixStore_c18bf3
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.wgsl
new file mode 100644
index 0000000..b24a81a
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.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, 1024>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<i32, 1024>, read_write>, u32, subgroup_matrix<left, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_c266d0() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c266d0();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5510085
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.wgsl.expected.dxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_c266d0() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c266d0();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.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/c266d0.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5510085
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.wgsl.expected.fxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_c266d0() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c266d0();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.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/c266d0.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c266d0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c266d0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c266d0.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c266d0.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.wgsl.expected.spvasm
new file mode 100644
index 0000000..c965d69
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c266d0.wgsl.expected.spvasm
@@ -0,0 +1,92 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_c266d0() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c266d0();
+}
+
+Failed to generate SPIR-V: :22:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<workgroup, i32, read_write>, subgroup_matrix_left<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:void = spirv.cooperative_matrix_store %15, %8, 1u, %10, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+$B1: { # root
+ %arg_0:ptr<workgroup, array<i32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixStore_c266d0 = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_left<i8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:u32 = load %arg_1
+ %8:subgroup_matrix_left<i8, 8, 8> = load %arg_2
+ %9:u32 = load %arg_4
+ %10:u32 = max %9, 8u
+ %11:u32 = mul %10, 7u
+ %12:u32 = add %7, %11
+ %13:u32 = add %12, 8u
+ %14:bool = lte %13, 4096u
+ if %14 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<workgroup, i32, read_write> = access %arg_0, %7
+ %16:void = spirv.cooperative_matrix_store %15, %8, 1u, %10, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B4: {
+ loop [i: $B5, b: $B6, c: $B7] { # loop_1
+ $B5: { # initializer
+ next_iteration %tint_local_index # -> $B6
+ }
+ $B6 (%idx:u32): { # body
+ %20:bool = gte %idx, 1024u
+ if %20 [t: $B8] { # if_2
+ $B8: { # true
+ exit_loop # loop_1
+ }
+ }
+ %21:ptr<workgroup, i32, read_write> = access %arg_0, %idx
+ store %21, 0i
+ continue # -> $B7
+ }
+ $B7: { # continuing
+ %22:u32 = add %idx, 1u
+ next_iteration %22 # -> $B6
+ }
+ }
+ %23:void = workgroupBarrier
+ %24:void = call %subgroupMatrixStore_c266d0
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.dxc.hlsl
index 3c2ec80..51fbf4c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.dxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_result<i32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_result<i32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.fxc.hlsl
index 990b45c..fb5cdf5 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.fxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_result<i32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_result<i32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/c28145.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/c28145.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/c28145.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c28145.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/c4a7ce.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c4a7ce.wgsl.expected.dxc.hlsl
index 300a78c..2c48ade 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/c4a7ce.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c4a7ce.wgsl.expected.dxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_right<f32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/c4a7ce.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c4a7ce.wgsl.expected.fxc.hlsl
index 18eb5ee..840238f 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/c4a7ce.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c4a7ce.wgsl.expected.fxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_right<f32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/c4a7ce.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c4a7ce.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/c4a7ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c4a7ce.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/c4a7ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c4a7ce.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/c4a7ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c4a7ce.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/c4a7ce.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c4a7ce.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/c4a7ce.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c4a7ce.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/c9f1a5.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl
new file mode 100644
index 0000000..529590a
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.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, 1024>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<u32, 1024>, read_write>, u32, subgroup_matrix<result, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_c9f1a5() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c9f1a5();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..729c4f2
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl.expected.dxc.hlsl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_c9f1a5() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c9f1a5();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_result<u8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+
+ 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/c9f1a5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..729c4f2
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl.expected.fxc.hlsl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_c9f1a5() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c9f1a5();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_result<u8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+
+ 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/c9f1a5.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c9f1a5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c9f1a5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c9f1a5.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/c9f1a5.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl.expected.spvasm
new file mode 100644
index 0000000..8444a8e
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/c9f1a5.wgsl.expected.spvasm
@@ -0,0 +1,84 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_c9f1a5() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_c9f1a5();
+}
+
+Failed to generate SPIR-V: :31:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_result<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %9, 1u, %11, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<u32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_c9f1a5 = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_result<u8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<u8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:ptr<storage, array<u32, 1024>, read_write> = access %1, 0u, 0u
+ %8:u32 = load %arg_1
+ %9:subgroup_matrix_result<u8, 8, 8> = load %arg_2
+ %10:u32 = load %arg_4
+ %11:u32 = max %10, 8u
+ %12:u32 = mul %11, 7u
+ %13:u32 = add %8, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, 4096u
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %16:ptr<storage, u32, read_write> = access %7, %8
+ %17:void = spirv.cooperative_matrix_store %16, %9, 1u, %11, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %19:void = call %subgroupMatrixStore_c9f1a5
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.wgsl
new file mode 100644
index 0000000..ea891cf
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.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, 1024>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<u32, 1024>, read_write>, u32, subgroup_matrix<left, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_ca6fe7() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ca6fe7();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..36f70db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_ca6fe7() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ca6fe7();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.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/ca6fe7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..36f70db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_ca6fe7() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ca6fe7();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.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/ca6fe7.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/ca6fe7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/ca6fe7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/ca6fe7.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/ca6fe7.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.wgsl.expected.spvasm
new file mode 100644
index 0000000..bd7e6e1
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ca6fe7.wgsl.expected.spvasm
@@ -0,0 +1,92 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 1024>;
+
+fn subgroupMatrixStore_ca6fe7() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ca6fe7();
+}
+
+Failed to generate SPIR-V: :22:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<workgroup, u32, read_write>, subgroup_matrix_left<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:void = spirv.cooperative_matrix_store %15, %8, 1u, %10, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+$B1: { # root
+ %arg_0:ptr<workgroup, array<u32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixStore_ca6fe7 = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_left<u8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:u32 = load %arg_1
+ %8:subgroup_matrix_left<u8, 8, 8> = load %arg_2
+ %9:u32 = load %arg_4
+ %10:u32 = max %9, 8u
+ %11:u32 = mul %10, 7u
+ %12:u32 = add %7, %11
+ %13:u32 = add %12, 8u
+ %14:bool = lte %13, 4096u
+ if %14 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<workgroup, u32, read_write> = access %arg_0, %7
+ %16:void = spirv.cooperative_matrix_store %15, %8, 1u, %10, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B4: {
+ loop [i: $B5, b: $B6, c: $B7] { # loop_1
+ $B5: { # initializer
+ next_iteration %tint_local_index # -> $B6
+ }
+ $B6 (%idx:u32): { # body
+ %20:bool = gte %idx, 1024u
+ if %20 [t: $B8] { # if_2
+ $B8: { # true
+ exit_loop # loop_1
+ }
+ }
+ %21:ptr<workgroup, u32, read_write> = access %arg_0, %idx
+ store %21, 0u
+ continue # -> $B7
+ }
+ $B7: { # continuing
+ %22:u32 = add %idx, 1u
+ next_iteration %22 # -> $B6
+ }
+ }
+ %23:void = workgroupBarrier
+ %24:void = call %subgroupMatrixStore_ca6fe7
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/d55153.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/d55153.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/d55153.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/e2ecd9.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl
new file mode 100644
index 0000000..8a77f5f
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.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, 1024>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<i32, 1024>, read_write>, u32, subgroup_matrix<right, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_e2ecd9() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e2ecd9();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..563b640
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl.expected.dxc.hlsl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_e2ecd9() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e2ecd9();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_right<i8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+
+ 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/e2ecd9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..563b640
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl.expected.fxc.hlsl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_e2ecd9() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e2ecd9();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_right<i8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+
+ 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/e2ecd9.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e2ecd9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e2ecd9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e2ecd9.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e2ecd9.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl.expected.spvasm
new file mode 100644
index 0000000..a3a3e57
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e2ecd9.wgsl.expected.spvasm
@@ -0,0 +1,84 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_e2ecd9() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e2ecd9();
+}
+
+Failed to generate SPIR-V: :31:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_right<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %9, 1u, %11, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_e2ecd9 = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_right<i8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_right<i8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u, 0u
+ %8:u32 = load %arg_1
+ %9:subgroup_matrix_right<i8, 8, 8> = load %arg_2
+ %10:u32 = load %arg_4
+ %11:u32 = max %10, 8u
+ %12:u32 = mul %11, 7u
+ %13:u32 = add %8, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, 4096u
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %16:ptr<storage, i32, read_write> = access %7, %8
+ %17:void = spirv.cooperative_matrix_store %16, %9, 1u, %11, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %19:void = call %subgroupMatrixStore_e2ecd9
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl
new file mode 100644
index 0000000..60cd4d5
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.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>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, runtime_array<i32>, read_write>, u32, subgroup_matrix<result, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_e4d013() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e4d013();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e4d013.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e4d013.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e4d013.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e4d013.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl.expected.spvasm
new file mode 100644
index 0000000..f16c3a0
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e4d013.wgsl.expected.spvasm
@@ -0,0 +1,82 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_e4d013() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e4d013();
+}
+
+Failed to generate SPIR-V: :29:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %9, 1u, %11, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<i32> @offset(0)
+}
+
+$B1: { # root
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_e4d013 = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_result<i8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:ptr<storage, array<i32>, read_write> = access %sb_rw, 0u
+ %8:u32 = load %arg_1
+ %9:subgroup_matrix_result<i8, 8, 8> = load %arg_2
+ %10:u32 = load %arg_4
+ %11:u32 = max %10, 8u
+ %12:u32 = spirv.array_length %sb_rw, 0u
+ %13:u32 = mul %12, 4u
+ %14:u32 = mul %11, 7u
+ %15:u32 = add %8, %14
+ %16:u32 = add %15, 8u
+ %17:bool = lte %16, %13
+ if %17 [t: $B3] { # if_1
+ $B3: { # true
+ %18:ptr<storage, i32, read_write> = access %7, %8
+ %19:void = spirv.cooperative_matrix_store %18, %9, 1u, %11, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:void = call %subgroupMatrixStore_e4d013
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.wgsl
new file mode 100644
index 0000000..dead6e1
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.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, 1024>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<i32, 1024>, read_write>, u32, subgroup_matrix<result, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_e59232() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e59232();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e7057a9
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.wgsl.expected.dxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_e59232() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e59232();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.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/e59232.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e7057a9
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.wgsl.expected.fxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_e59232() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e59232();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.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/e59232.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e59232.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e59232.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e59232.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/e59232.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.wgsl.expected.spvasm
new file mode 100644
index 0000000..7b3d217
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/e59232.wgsl.expected.spvasm
@@ -0,0 +1,92 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 1024>;
+
+fn subgroupMatrixStore_e59232() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_e59232();
+}
+
+Failed to generate SPIR-V: :22:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<workgroup, i32, read_write>, subgroup_matrix_result<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %16:void = spirv.cooperative_matrix_store %15, %8, 1u, %10, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:20:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+$B1: { # root
+ %arg_0:ptr<workgroup, array<i32, 1024>, read_write> = var undef
+}
+
+%subgroupMatrixStore_e59232 = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_result<i8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_result<i8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:u32 = load %arg_1
+ %8:subgroup_matrix_result<i8, 8, 8> = load %arg_2
+ %9:u32 = load %arg_4
+ %10:u32 = max %9, 8u
+ %11:u32 = mul %10, 7u
+ %12:u32 = add %7, %11
+ %13:u32 = add %12, 8u
+ %14:bool = lte %13, 4096u
+ if %14 [t: $B3] { # if_1
+ $B3: { # true
+ %15:ptr<workgroup, i32, read_write> = access %arg_0, %7
+ %16:void = spirv.cooperative_matrix_store %15, %8, 1u, %10, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
+ $B4: {
+ loop [i: $B5, b: $B6, c: $B7] { # loop_1
+ $B5: { # initializer
+ next_iteration %tint_local_index # -> $B6
+ }
+ $B6 (%idx:u32): { # body
+ %20:bool = gte %idx, 1024u
+ if %20 [t: $B8] { # if_2
+ $B8: { # true
+ exit_loop # loop_1
+ }
+ }
+ %21:ptr<workgroup, i32, read_write> = access %arg_0, %idx
+ store %21, 0i
+ continue # -> $B7
+ }
+ $B7: { # continuing
+ %22:u32 = add %idx, 1u
+ next_iteration %22 # -> $B6
+ }
+ }
+ %23:void = workgroupBarrier
+ %24:void = call %subgroupMatrixStore_e59232
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.dxc.hlsl
index 7be0a60..7bf16c4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.dxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_left<f32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<f32, 1024>, u32, subgroup_matrix_left<f32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.fxc.hlsl
index eb40346..2b8d455 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.fxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_left<f32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<f32, 1024>, u32, subgroup_matrix_left<f32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/eac52e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/eac52e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/eac52e.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/eae7d8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.dxc.hlsl
index f38e260..c18405b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.dxc.hlsl
@@ -1,6 +1,7 @@
SKIP: FAILED
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.fxc.hlsl
index f5da3d1..e861f88 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.fxc.hlsl
@@ -1,6 +1,7 @@
SKIP: INVALID
-../../src/tint/lang/hlsl/writer/ast_raise/decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
@@ -8,4 +9,4 @@
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************
-tint executable returned error: signal: trace/BPT trap
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/eae7d8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/eae7d8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/eae7d8.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/f71f4f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.dxc.hlsl
index 1d0b74c..214a244 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.dxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_left<u32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_left<u32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.fxc.hlsl
index 61969eb..97cc19b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.fxc.hlsl
@@ -13,7 +13,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_left<u32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -24,11 +24,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 1024>, u32, subgroup_matrix_left<u32, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/f71f4f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/f71f4f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/f71f4f.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f71f4f.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+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/f79102.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl
new file mode 100644
index 0000000..6ca69cd
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.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, 1024>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<i32, 1024>, read_write>, u32, subgroup_matrix<left, i8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_f79102() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f79102();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..75c45ef
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl.expected.dxc.hlsl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_f79102() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f79102();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_left<i8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+
+ 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/f79102.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..75c45ef
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl.expected.fxc.hlsl
@@ -0,0 +1,45 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_f79102() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f79102();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 1024>, u32, subgroup_matrix_left<i8, 8, 8>, bool, u32)'
+
+6 candidate functions:
+ • 'subgroupMatrixStore(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'f32', 'i32', 'u32' or 'f16'
+ • '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(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+
+ 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/f79102.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f79102.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f79102.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f79102.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f79102.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl.expected.spvasm
new file mode 100644
index 0000000..fcc848f
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f79102.wgsl.expected.spvasm
@@ -0,0 +1,84 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 1024>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_f79102() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f79102();
+}
+
+Failed to generate SPIR-V: :31:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, i32, read_write>, subgroup_matrix_left<i8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %17:void = spirv.cooperative_matrix_store %16, %9, 1u, %11, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:29:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4) {
+ arg_0:array<i32, 1024> @offset(0)
+}
+
+sb_rw_block = struct @align(4), @block {
+ inner:SB_RW @offset(0)
+}
+
+$B1: { # root
+ %1:ptr<storage, sb_rw_block, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_f79102 = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_left<i8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_left<i8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:ptr<storage, array<i32, 1024>, read_write> = access %1, 0u, 0u
+ %8:u32 = load %arg_1
+ %9:subgroup_matrix_left<i8, 8, 8> = load %arg_2
+ %10:u32 = load %arg_4
+ %11:u32 = max %10, 8u
+ %12:u32 = mul %11, 7u
+ %13:u32 = add %8, %12
+ %14:u32 = add %13, 8u
+ %15:bool = lte %14, 4096u
+ if %15 [t: $B3] { # if_1
+ $B3: { # true
+ %16:ptr<storage, i32, read_write> = access %7, %8
+ %17:void = spirv.cooperative_matrix_store %16, %9, 1u, %11, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %19:void = call %subgroupMatrixStore_f79102
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl
new file mode 100644
index 0000000..f89317d
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.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>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, runtime_array<u32>, read_write>, u32, subgroup_matrix<left, u8, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_f96cc1() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f96cc1();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl.expected.dxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c18405b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl.expected.fxc.hlsl
@@ -0,0 +1,12 @@
+SKIP: FAILED
+
+..\..\src\tint\lang\hlsl\writer\ast_raise\decompose_memory_access.cc:514 internal compiler error: unexpected non-constant array count
+
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: exit status 0xc000001d
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl.expected.glsl
new file mode 100644
index 0000000..117d674
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl.expected.glsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f96cc1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl.expected.ir.dxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl.expected.ir.dxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f96cc1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl.expected.ir.fxc.hlsl
new file mode 100644
index 0000000..19e6ec4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl.expected.ir.fxc.hlsl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f96cc1.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl.expected.msl
new file mode 100644
index 0000000..2725cb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+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/f96cc1.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl.expected.spvasm
new file mode 100644
index 0000000..869ccac
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f96cc1.wgsl.expected.spvasm
@@ -0,0 +1,82 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_f96cc1() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u8, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 8u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f96cc1();
+}
+
+Failed to generate SPIR-V: :29:20 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<storage, u32, read_write>, subgroup_matrix_left<u8, 8, 8>, u32, u32, u32)'
+
+1 candidate function:
+ • 'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ %19:void = spirv.cooperative_matrix_store %18, %9, 1u, %11, 32u
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:27:7 note: in block
+ $B3: { # true
+ ^^^
+
+note: # Disassembly
+SB_RW = struct @align(4), @block {
+ arg_0:array<u32> @offset(0)
+}
+
+$B1: { # root
+ %sb_rw:ptr<storage, SB_RW, read_write> = var undef @binding_point(0, 0)
+}
+
+%subgroupMatrixStore_f96cc1 = func():void {
+ $B2: {
+ %arg_1:ptr<function, u32, read_write> = var 1u
+ %4:subgroup_matrix_left<u8, 8, 8> = construct
+ %arg_2:ptr<function, subgroup_matrix_left<u8, 8, 8>, read_write> = var %4
+ %arg_4:ptr<function, u32, read_write> = var 8u
+ %7:ptr<storage, array<u32>, read_write> = access %sb_rw, 0u
+ %8:u32 = load %arg_1
+ %9:subgroup_matrix_left<u8, 8, 8> = load %arg_2
+ %10:u32 = load %arg_4
+ %11:u32 = max %10, 8u
+ %12:u32 = spirv.array_length %sb_rw, 0u
+ %13:u32 = mul %12, 4u
+ %14:u32 = mul %11, 7u
+ %15:u32 = add %8, %14
+ %16:u32 = add %15, 8u
+ %17:bool = lte %16, %13
+ if %17 [t: $B3] { # if_1
+ $B3: { # true
+ %18:ptr<storage, u32, read_write> = access %7, %8
+ %19:void = spirv.cooperative_matrix_store %18, %9, 1u, %11, 32u
+ exit_if # if_1
+ }
+ }
+ ret
+ }
+}
+%compute_main = @compute @workgroup_size(1i, 1i, 1i) func():void {
+ $B4: {
+ %21:void = call %subgroupMatrixStore_f96cc1
+ ret
+ }
+}
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.dxc.hlsl
index c819920..017b204 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.dxc.hlsl
@@ -14,7 +14,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_left<f16, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -25,11 +25,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl:55:3 error: no matching call to 'subgroupMatrixStore(array<f16, 1024>, u32, subgroup_matrix_left<f16, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.fxc.hlsl
index 73864ef..9db51b6 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.fxc.hlsl
@@ -14,7 +14,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_left<f16, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
}
@@ -25,11 +25,19 @@
Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl:55:3 error: no matching call to 'subgroupMatrixStore(array<f16, 1024>, u32, subgroup_matrix_left<f16, 8, 8>, bool, u32)'
-2 candidate functions:
+6 candidate functions:
• 'subgroupMatrixStore(ptr<storage, array<S>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
• '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(ptr<storage, array<i32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<storage, array<u32>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'i8'
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✗ , bool ✓ , u32 ✓ )' where:
+ ✗ 'S' is 'u8'
subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
^^^^^^^^^^^^^^^^^^^
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/fb7663.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/fb7663.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/fb7663.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/feca1e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.dxc.hlsl
index 1e67a5f..296971f 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.dxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_right<i32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.fxc.hlsl
index 5d01634..4d5c2f9 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.fxc.hlsl
@@ -9,7 +9,7 @@
var arg_1 = 1u;
var arg_2 = subgroup_matrix_right<i32, 8, 8>();
const arg_3 = true;
- var arg_4 = 1u;
+ var arg_4 = 8u;
subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.glsl
index cc19bf0..6fd05cf 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the GLSL backend
+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/feca1e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.ir.dxc.hlsl
index dda740a..19e6ec4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.ir.dxc.hlsl
@@ -1,5 +1,5 @@
SKIP: FAILED
-error: subgroup matrices are not supported by the HLSL backend
+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/feca1e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.ir.fxc.hlsl
index 4709805..554ff33 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.ir.fxc.hlsl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: subgroup matrices are not supported by the HLSL backend
+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/feca1e.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.msl
index 5dba48c..27f93cd 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.msl
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/feca1e.wgsl.expected.msl
@@ -1,5 +1,5 @@
SKIP: INVALID
-error: non-float subgroup matrices are not supported by the MSL backend
+non-float subgroup matrices are not supported by the MSL backend
tint executable returned error: exit status 1