[spirv] Avoid OpConstantNull for subgroup matrices
Mesa did not support `OpConstantNull` for these types until very
recently, so use `OpConstantComposite` instead.
Bug: 407532165
Change-Id: Ia914859bb2321eb76270d9797bb1e22fee6e30c7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/227574
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Auto-Submit: James Price <jrprice@google.com>
diff --git a/src/tint/lang/spirv/writer/construct_test.cc b/src/tint/lang/spirv/writer/construct_test.cc
index 6d43200..c1bc3ee 100644
--- a/src/tint/lang/spirv/writer/construct_test.cc
+++ b/src/tint/lang/spirv/writer/construct_test.cc
@@ -137,8 +137,8 @@
auto* func = b.Function("foo", ty.void_());
b.Append(func->Block(), [&] {
b.Let("left", b.Construct(ty.subgroup_matrix_left(ty.f32(), 8, 4)));
- b.Let("right", b.Construct(ty.subgroup_matrix_right(ty.f32(), 4, 8)));
- b.Let("result", b.Construct(ty.subgroup_matrix_result(ty.f32(), 2, 2)));
+ b.Let("right", b.Construct(ty.subgroup_matrix_right(ty.i32(), 4, 8)));
+ b.Let("result", b.Construct(ty.subgroup_matrix_result(ty.u32(), 2, 2)));
b.Return(func);
});
@@ -146,11 +146,11 @@
options.use_vulkan_memory_model = true;
ASSERT_TRUE(Generate(options)) << Error() << output_;
EXPECT_INST("%6 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_4 %uint_8 %uint_0");
- EXPECT_INST("%left = OpConstantNull %6");
- EXPECT_INST("%14 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_4 %uint_1");
- EXPECT_INST("%right = OpConstantNull %14");
- EXPECT_INST("%17 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_2 %uint_2 %uint_2");
- EXPECT_INST("%result = OpConstantNull %17");
+ EXPECT_INST("%left = OpConstantComposite %6 %float_0");
+ EXPECT_INST("%15 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_4 %uint_1");
+ EXPECT_INST("%right = OpConstantComposite %15 %int_0");
+ EXPECT_INST("%20 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_2 %uint_2 %uint_2");
+ EXPECT_INST("%result = OpConstantComposite %20 %uint_0");
}
TEST_F(SpirvWriterTest, Construct_SubgroupMatrix_SingleValue) {
diff --git a/src/tint/lang/spirv/writer/printer/printer.cc b/src/tint/lang/spirv/writer/printer/printer.cc
index 8e54b06..2b98890 100644
--- a/src/tint/lang/spirv/writer/printer/printer.cc
+++ b/src/tint/lang/spirv/writer/printer/printer.cc
@@ -468,7 +468,17 @@
uint32_t ConstantNull(const core::type::Type* type) {
return constant_nulls_.GetOrAdd(type, [&] {
auto id = module_.NextId();
- module_.PushType(spv::Op::OpConstantNull, {Type(type), id});
+
+ if (auto* sm = type->As<core::type::SubgroupMatrix>()) {
+ // OpConstantNull is not supported for CooperativeMatrix types on some drivers, so
+ // use OpConstantComposite instead.
+ // See crbug.com/407532165.
+ module_.PushType(spv::Op::OpConstantComposite,
+ {Type(type), id, Constant(b_.Zero(sm->Type()))});
+ } else {
+ module_.PushType(spv::Op::OpConstantNull, {Type(type), id});
+ }
+
return id;
});
}
diff --git a/src/tint/lang/spirv/writer/type_test.cc b/src/tint/lang/spirv/writer/type_test.cc
index 5c21dc1..81812d5 100644
--- a/src/tint/lang/spirv/writer/type_test.cc
+++ b/src/tint/lang/spirv/writer/type_test.cc
@@ -572,8 +572,8 @@
EXPECT_INST("OpCapability CooperativeMatrixKHR");
EXPECT_INST("OpExtension \"SPV_KHR_cooperative_matrix\"");
EXPECT_INST("%3 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_4 %uint_8 %uint_0");
- EXPECT_INST("%13 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_4 %uint_1");
- EXPECT_INST("%18 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_2 %uint_2 %uint_2");
+ EXPECT_INST("%14 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_4 %uint_1");
+ EXPECT_INST("%19 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_2 %uint_2 %uint_2");
}
// Test that we can emit multiple types.
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.spvasm
index e2ae522..d7f2370 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2969da.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -36,30 +36,31 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %int_0 = OpConstant %int 0
+ %15 = OpConstantComposite %16 %int_0
%uint_1 = OpConstant %uint 1
- %19 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %9
+ %20 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
+ %19 = OpConstantComposite %20 %int_0
+ %22 = OpConstantComposite %9 %int_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_int_uint_1024 = OpTypePointer StorageBuffer %_arr_int_uint_1024
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_2969da = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %22 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR|MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
- OpStore %res %22
- %25 = OpLoad %9 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR|MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
+ OpStore %res %23
+ %26 = OpLoad %9 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %9 %subgroupMatrixMultiply_2969da
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_int %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %9 %subgroupMatrixMultiply_2969da
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_int %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.spvasm
index ba4088b..43b9129 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/2c905b.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -36,30 +36,31 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %float_0 = OpConstant %float 0
+ %15 = OpConstantComposite %16 %float_0
%uint_1 = OpConstant %uint 1
- %19 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %9
+ %20 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
+ %19 = OpConstantComposite %20 %float_0
+ %22 = OpConstantComposite %9 %float_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_float_uint_1024 = OpTypePointer StorageBuffer %_arr_float_uint_1024
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_2c905b = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %22 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 NoneKHR
- OpStore %res %22
- %25 = OpLoad %9 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 NoneKHR
+ OpStore %res %23
+ %26 = OpLoad %9 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %9 %subgroupMatrixMultiply_2c905b
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_float %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %9 %subgroupMatrixMultiply_2c905b
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_float %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.spvasm
index a0372d1..52089aa 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/3e9b04.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -36,30 +36,31 @@
%int = OpTypeInt 32 1
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+ %int_0 = OpConstant %int 0
+ %14 = OpConstantComposite %15 %int_0
%uint_1 = OpConstant %uint 1
- %19 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %8
+ %20 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
+ %19 = OpConstantComposite %20 %int_0
+ %22 = OpConstantComposite %8 %uint_0
%_ptr_Function_8 = OpTypePointer Function %8
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_uint_uint_1024 = OpTypePointer StorageBuffer %_arr_uint_uint_1024
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_3e9b04 = OpFunction %8 None %12
%13 = OpLabel
%res = OpVariable %_ptr_Function_8 Function
- %22 = OpCooperativeMatrixMulAddKHR %8 %14 %18 %21 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
- OpStore %res %22
- %25 = OpLoad %8 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %8 %14 %19 %22 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
+ OpStore %res %23
+ %26 = OpLoad %8 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %8 %subgroupMatrixMultiply_3e9b04
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_uint %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %8 %subgroupMatrixMultiply_3e9b04
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_uint %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.spvasm
index c5b4ddf..0e6098d 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/42abed.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,30 +39,31 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %15 = OpConstantComposite %16 %half_0x0p_0
%uint_1 = OpConstant %uint 1
- %19 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %9
+ %20 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
+ %19 = OpConstantComposite %20 %half_0x0p_0
+ %22 = OpConstantComposite %9 %half_0x0p_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_half_uint_1024 = OpTypePointer StorageBuffer %_arr_half_uint_1024
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_42abed = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %22 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 NoneKHR
- OpStore %res %22
- %25 = OpLoad %9 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 NoneKHR
+ OpStore %res %23
+ %26 = OpLoad %9 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %9 %subgroupMatrixMultiply_42abed
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_half %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %9 %subgroupMatrixMultiply_42abed
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_half %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.spvasm
index c867179..40f8d6f 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/5677fc.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 38
+; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -40,30 +40,32 @@
%half = OpTypeFloat 16
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %15 = OpConstantComposite %16 %half_0x0p_0
%uint_1 = OpConstant %uint 1
- %20 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %19 = OpConstantNull %20
- %22 = OpConstantNull %9
+ %21 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
+ %20 = OpConstantComposite %21 %half_0x0p_0
+ %float_0 = OpConstant %float 0
+ %23 = OpConstantComposite %9 %float_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %29 = OpTypeFunction %void
+ %31 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_float_uint_1024 = OpTypePointer StorageBuffer %_arr_float_uint_1024
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_5677fc = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 NoneKHR
- OpStore %res %23
- %26 = OpLoad %9 %res None
- OpReturnValue %26
+ %25 = OpCooperativeMatrixMulAddKHR %9 %15 %20 %23 NoneKHR
+ OpStore %res %25
+ %28 = OpLoad %9 %res None
+ OpReturnValue %28
OpFunctionEnd
-%compute_main = OpFunction %void None %29
- %30 = OpLabel
- %31 = OpFunctionCall %9 %subgroupMatrixMultiply_5677fc
- %32 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
- %34 = OpAccessChain %_ptr_StorageBuffer_float %32 %uint_0
- OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %31
+ %32 = OpLabel
+ %33 = OpFunctionCall %9 %subgroupMatrixMultiply_5677fc
+ %34 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
+ %36 = OpAccessChain %_ptr_StorageBuffer_float %34 %uint_0
+ OpCooperativeMatrixStoreKHR %36 %33 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.spvasm
index e6538af..de4d2c3 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/704b4d.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 38
+; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -40,30 +40,32 @@
%half = OpTypeFloat 16
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %15 = OpConstantComposite %16 %half_0x0p_0
%uint_1 = OpConstant %uint 1
- %20 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %19 = OpConstantNull %20
- %22 = OpConstantNull %9
+ %21 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
+ %20 = OpConstantComposite %21 %half_0x0p_0
+ %int_0 = OpConstant %int 0
+ %23 = OpConstantComposite %9 %int_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %29 = OpTypeFunction %void
+ %31 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_int_uint_1024 = OpTypePointer StorageBuffer %_arr_int_uint_1024
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_704b4d = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
- OpStore %res %23
- %26 = OpLoad %9 %res None
- OpReturnValue %26
+ %25 = OpCooperativeMatrixMulAddKHR %9 %15 %20 %23 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
+ OpStore %res %25
+ %28 = OpLoad %9 %res None
+ OpReturnValue %28
OpFunctionEnd
-%compute_main = OpFunction %void None %29
- %30 = OpLabel
- %31 = OpFunctionCall %9 %subgroupMatrixMultiply_704b4d
- %32 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
- %34 = OpAccessChain %_ptr_StorageBuffer_int %32 %uint_0
- OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %31
+ %32 = OpLabel
+ %33 = OpFunctionCall %9 %subgroupMatrixMultiply_704b4d
+ %34 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
+ %36 = OpAccessChain %_ptr_StorageBuffer_int %34 %uint_0
+ OpCooperativeMatrixStoreKHR %36 %33 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.spvasm
index 959cba8..dd99b74 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8648ad.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 38
+; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -37,30 +37,32 @@
%int = OpTypeInt 32 1
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %int_0 = OpConstant %int 0
+ %15 = OpConstantComposite %16 %int_0
%uint_1 = OpConstant %uint 1
- %20 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %19 = OpConstantNull %20
- %22 = OpConstantNull %9
+ %21 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
+ %20 = OpConstantComposite %21 %int_0
+ %float_0 = OpConstant %float 0
+ %23 = OpConstantComposite %9 %float_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %29 = OpTypeFunction %void
+ %31 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_float_uint_1024 = OpTypePointer StorageBuffer %_arr_float_uint_1024
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_8648ad = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
- OpStore %res %23
- %26 = OpLoad %9 %res None
- OpReturnValue %26
+ %25 = OpCooperativeMatrixMulAddKHR %9 %15 %20 %23 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
+ OpStore %res %25
+ %28 = OpLoad %9 %res None
+ OpReturnValue %28
OpFunctionEnd
-%compute_main = OpFunction %void None %29
- %30 = OpLabel
- %31 = OpFunctionCall %9 %subgroupMatrixMultiply_8648ad
- %32 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
- %34 = OpAccessChain %_ptr_StorageBuffer_float %32 %uint_0
- OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %31
+ %32 = OpLabel
+ %33 = OpFunctionCall %9 %subgroupMatrixMultiply_8648ad
+ %34 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
+ %36 = OpAccessChain %_ptr_StorageBuffer_float %34 %uint_0
+ OpCooperativeMatrixStoreKHR %36 %33 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.spvasm
index d4aeb46..d6ced86 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8744bd.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 38
+; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -40,30 +40,32 @@
%float = OpTypeFloat 32
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %float_0 = OpConstant %float 0
+ %15 = OpConstantComposite %16 %float_0
%uint_1 = OpConstant %uint 1
- %20 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %19 = OpConstantNull %20
- %22 = OpConstantNull %9
+ %21 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
+ %20 = OpConstantComposite %21 %float_0
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %23 = OpConstantComposite %9 %half_0x0p_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %29 = OpTypeFunction %void
+ %31 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_half_uint_1024 = OpTypePointer StorageBuffer %_arr_half_uint_1024
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_8744bd = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 NoneKHR
- OpStore %res %23
- %26 = OpLoad %9 %res None
- OpReturnValue %26
+ %25 = OpCooperativeMatrixMulAddKHR %9 %15 %20 %23 NoneKHR
+ OpStore %res %25
+ %28 = OpLoad %9 %res None
+ OpReturnValue %28
OpFunctionEnd
-%compute_main = OpFunction %void None %29
- %30 = OpLabel
- %31 = OpFunctionCall %9 %subgroupMatrixMultiply_8744bd
- %32 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
- %34 = OpAccessChain %_ptr_StorageBuffer_half %32 %uint_0
- OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %31
+ %32 = OpLabel
+ %33 = OpFunctionCall %9 %subgroupMatrixMultiply_8744bd
+ %34 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
+ %36 = OpAccessChain %_ptr_StorageBuffer_half %34 %uint_0
+ OpCooperativeMatrixStoreKHR %36 %33 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.spvasm
index 8cdd287..200c3ac 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/8c3aac.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -36,30 +36,31 @@
%float = OpTypeFloat 32
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+ %float_0 = OpConstant %float 0
+ %14 = OpConstantComposite %15 %float_0
%uint_1 = OpConstant %uint 1
- %19 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %8
+ %20 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
+ %19 = OpConstantComposite %20 %float_0
+ %22 = OpConstantComposite %8 %uint_0
%_ptr_Function_8 = OpTypePointer Function %8
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_uint_uint_1024 = OpTypePointer StorageBuffer %_arr_uint_uint_1024
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_8c3aac = OpFunction %8 None %12
%13 = OpLabel
%res = OpVariable %_ptr_Function_8 Function
- %22 = OpCooperativeMatrixMulAddKHR %8 %14 %18 %21 NoneKHR
- OpStore %res %22
- %25 = OpLoad %8 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %8 %14 %19 %22 NoneKHR
+ OpStore %res %23
+ %26 = OpLoad %8 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %8 %subgroupMatrixMultiply_8c3aac
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_uint %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %8 %subgroupMatrixMultiply_8c3aac
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_uint %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.spvasm
index 79c779b..3e07368 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/957137.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,30 +39,31 @@
%half = OpTypeFloat 16
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %14 = OpConstantComposite %15 %half_0x0p_0
%uint_1 = OpConstant %uint 1
- %19 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %8
+ %20 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
+ %19 = OpConstantComposite %20 %half_0x0p_0
+ %22 = OpConstantComposite %8 %uint_0
%_ptr_Function_8 = OpTypePointer Function %8
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_uint_uint_1024 = OpTypePointer StorageBuffer %_arr_uint_uint_1024
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_957137 = OpFunction %8 None %12
%13 = OpLabel
%res = OpVariable %_ptr_Function_8 Function
- %22 = OpCooperativeMatrixMulAddKHR %8 %14 %18 %21 NoneKHR
- OpStore %res %22
- %25 = OpLoad %8 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %8 %14 %19 %22 NoneKHR
+ OpStore %res %23
+ %26 = OpLoad %8 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %8 %subgroupMatrixMultiply_957137
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_uint %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %8 %subgroupMatrixMultiply_957137
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_uint %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.spvasm
index d899831..a36051c 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/bf2e54.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 38
+; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -40,30 +40,32 @@
%int = OpTypeInt 32 1
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %int_0 = OpConstant %int 0
+ %15 = OpConstantComposite %16 %int_0
%uint_1 = OpConstant %uint 1
- %20 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %19 = OpConstantNull %20
- %22 = OpConstantNull %9
+ %21 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
+ %20 = OpConstantComposite %21 %int_0
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %23 = OpConstantComposite %9 %half_0x0p_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %29 = OpTypeFunction %void
+ %31 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_half_uint_1024 = OpTypePointer StorageBuffer %_arr_half_uint_1024
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_bf2e54 = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
- OpStore %res %23
- %26 = OpLoad %9 %res None
- OpReturnValue %26
+ %25 = OpCooperativeMatrixMulAddKHR %9 %15 %20 %23 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
+ OpStore %res %25
+ %28 = OpLoad %9 %res None
+ OpReturnValue %28
OpFunctionEnd
-%compute_main = OpFunction %void None %29
- %30 = OpLabel
- %31 = OpFunctionCall %9 %subgroupMatrixMultiply_bf2e54
- %32 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
- %34 = OpAccessChain %_ptr_StorageBuffer_half %32 %uint_0
- OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %31
+ %32 = OpLabel
+ %33 = OpFunctionCall %9 %subgroupMatrixMultiply_bf2e54
+ %34 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
+ %36 = OpAccessChain %_ptr_StorageBuffer_half %34 %uint_0
+ OpCooperativeMatrixStoreKHR %36 %33 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.spvasm
index a37db93..6f4ec43 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/c26fb9.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -36,30 +36,31 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %15 = OpConstantComposite %16 %uint_0
%uint_1 = OpConstant %uint 1
%19 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %9
+ %18 = OpConstantComposite %19 %uint_0
+ %float_0 = OpConstant %float 0
+ %21 = OpConstantComposite %9 %float_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_float_uint_1024 = OpTypePointer StorageBuffer %_arr_float_uint_1024
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_c26fb9 = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %22 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 NoneKHR
- OpStore %res %22
- %25 = OpLoad %9 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 NoneKHR
+ OpStore %res %23
+ %26 = OpLoad %9 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %9 %subgroupMatrixMultiply_c26fb9
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_float %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %9 %subgroupMatrixMultiply_c26fb9
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_float %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.spvasm
index 63169e0..10ff356 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/da556f.wgsl.expected.spvasm
@@ -35,11 +35,11 @@
%12 = OpTypeFunction %8
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+ %14 = OpConstantComposite %15 %uint_0
%uint_1 = OpConstant %uint 1
%18 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %17 = OpConstantNull %18
- %20 = OpConstantNull %8
+ %17 = OpConstantComposite %18 %uint_0
+ %20 = OpConstantComposite %8 %uint_0
%_ptr_Function_8 = OpTypePointer Function %8
%void = OpTypeVoid
%27 = OpTypeFunction %void
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.spvasm
index 12fcc0e..7775710 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/db4ee8.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,30 +39,31 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %15 = OpConstantComposite %16 %uint_0
%uint_1 = OpConstant %uint 1
%19 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %9
+ %18 = OpConstantComposite %19 %uint_0
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %21 = OpConstantComposite %9 %half_0x0p_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_half_uint_1024 = OpTypePointer StorageBuffer %_arr_half_uint_1024
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_db4ee8 = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %22 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 NoneKHR
- OpStore %res %22
- %25 = OpLoad %9 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 NoneKHR
+ OpStore %res %23
+ %26 = OpLoad %9 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %9 %subgroupMatrixMultiply_db4ee8
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_half %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %9 %subgroupMatrixMultiply_db4ee8
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_half %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.spvasm
index af0d1fb..911ff9a 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/f51206.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -36,30 +36,31 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %15 = OpConstantComposite %16 %uint_0
%uint_1 = OpConstant %uint 1
%19 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %9
+ %18 = OpConstantComposite %19 %uint_0
+ %int_0 = OpConstant %int 0
+ %21 = OpConstantComposite %9 %int_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_int_uint_1024 = OpTypePointer StorageBuffer %_arr_int_uint_1024
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_f51206 = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %22 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
- OpStore %res %22
- %25 = OpLoad %9 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
+ OpStore %res %23
+ %26 = OpLoad %9 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %9 %subgroupMatrixMultiply_f51206
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_int %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %9 %subgroupMatrixMultiply_f51206
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_int %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.spvasm
index ecd9abe..717ddd4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiply/fa5318.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 38
+; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -37,30 +37,32 @@
%float = OpTypeFloat 32
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %float_0 = OpConstant %float 0
+ %15 = OpConstantComposite %16 %float_0
%uint_1 = OpConstant %uint 1
- %20 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %19 = OpConstantNull %20
- %22 = OpConstantNull %9
+ %21 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
+ %20 = OpConstantComposite %21 %float_0
+ %int_0 = OpConstant %int 0
+ %23 = OpConstantComposite %9 %int_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %29 = OpTypeFunction %void
+ %31 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_int_uint_1024 = OpTypePointer StorageBuffer %_arr_int_uint_1024
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_fa5318 = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
- OpStore %res %23
- %26 = OpLoad %9 %res None
- OpReturnValue %26
+ %25 = OpCooperativeMatrixMulAddKHR %9 %15 %20 %23 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
+ OpStore %res %25
+ %28 = OpLoad %9 %res None
+ OpReturnValue %28
OpFunctionEnd
-%compute_main = OpFunction %void None %29
- %30 = OpLabel
- %31 = OpFunctionCall %9 %subgroupMatrixMultiply_fa5318
- %32 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
- %34 = OpAccessChain %_ptr_StorageBuffer_int %32 %uint_0
- OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %31
+ %32 = OpLabel
+ %33 = OpFunctionCall %9 %subgroupMatrixMultiply_fa5318
+ %34 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
+ %36 = OpAccessChain %_ptr_StorageBuffer_int %34 %uint_0
+ OpCooperativeMatrixStoreKHR %36 %33 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.spvasm
index ab88915..b85ced3 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 38
+; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -40,30 +40,32 @@
%half = OpTypeFloat 16
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %15 = OpConstantComposite %16 %half_0x0p_0
%uint_1 = OpConstant %uint 1
- %20 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %19 = OpConstantNull %20
- %22 = OpConstantNull %9
+ %21 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
+ %20 = OpConstantComposite %21 %half_0x0p_0
+ %float_0 = OpConstant %float 0
+ %23 = OpConstantComposite %9 %float_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %29 = OpTypeFunction %void
+ %31 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_float_uint_1024 = OpTypePointer StorageBuffer %_arr_float_uint_1024
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_071472 = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 NoneKHR
- OpStore %res %23
- %26 = OpLoad %9 %res None
- OpReturnValue %26
+ %25 = OpCooperativeMatrixMulAddKHR %9 %15 %20 %23 NoneKHR
+ OpStore %res %25
+ %28 = OpLoad %9 %res None
+ OpReturnValue %28
OpFunctionEnd
-%compute_main = OpFunction %void None %29
- %30 = OpLabel
- %31 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_071472
- %32 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
- %34 = OpAccessChain %_ptr_StorageBuffer_float %32 %uint_0
- OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %31
+ %32 = OpLabel
+ %33 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_071472
+ %34 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
+ %36 = OpAccessChain %_ptr_StorageBuffer_float %34 %uint_0
+ OpCooperativeMatrixStoreKHR %36 %33 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.spvasm
index a8ea89c..5a6314d 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,30 +39,31 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %15 = OpConstantComposite %16 %uint_0
%uint_1 = OpConstant %uint 1
%19 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %9
+ %18 = OpConstantComposite %19 %uint_0
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %21 = OpConstantComposite %9 %half_0x0p_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_half_uint_1024 = OpTypePointer StorageBuffer %_arr_half_uint_1024
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_075302 = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %22 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 NoneKHR
- OpStore %res %22
- %25 = OpLoad %9 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 NoneKHR
+ OpStore %res %23
+ %26 = OpLoad %9 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_075302
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_half %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_075302
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_half %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.spvasm
index 04fbe22..3509811 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,30 +39,31 @@
%half = OpTypeFloat 16
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %14 = OpConstantComposite %15 %half_0x0p_0
%uint_1 = OpConstant %uint 1
- %19 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %8
+ %20 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
+ %19 = OpConstantComposite %20 %half_0x0p_0
+ %22 = OpConstantComposite %8 %uint_0
%_ptr_Function_8 = OpTypePointer Function %8
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_uint_uint_1024 = OpTypePointer StorageBuffer %_arr_uint_uint_1024
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_12354d = OpFunction %8 None %12
%13 = OpLabel
%res = OpVariable %_ptr_Function_8 Function
- %22 = OpCooperativeMatrixMulAddKHR %8 %14 %18 %21 NoneKHR
- OpStore %res %22
- %25 = OpLoad %8 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %8 %14 %19 %22 NoneKHR
+ OpStore %res %23
+ %26 = OpLoad %8 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %8 %subgroupMatrixMultiplyAccumulate_12354d
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_uint %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %8 %subgroupMatrixMultiplyAccumulate_12354d
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_uint %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.spvasm
index 39acd91..f30f784 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 38
+; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -37,30 +37,32 @@
%int = OpTypeInt 32 1
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %int_0 = OpConstant %int 0
+ %15 = OpConstantComposite %16 %int_0
%uint_1 = OpConstant %uint 1
- %20 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %19 = OpConstantNull %20
- %22 = OpConstantNull %9
+ %21 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
+ %20 = OpConstantComposite %21 %int_0
+ %float_0 = OpConstant %float 0
+ %23 = OpConstantComposite %9 %float_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %29 = OpTypeFunction %void
+ %31 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_float_uint_1024 = OpTypePointer StorageBuffer %_arr_float_uint_1024
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_163ab5 = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
- OpStore %res %23
- %26 = OpLoad %9 %res None
- OpReturnValue %26
+ %25 = OpCooperativeMatrixMulAddKHR %9 %15 %20 %23 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
+ OpStore %res %25
+ %28 = OpLoad %9 %res None
+ OpReturnValue %28
OpFunctionEnd
-%compute_main = OpFunction %void None %29
- %30 = OpLabel
- %31 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_163ab5
- %32 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
- %34 = OpAccessChain %_ptr_StorageBuffer_float %32 %uint_0
- OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %31
+ %32 = OpLabel
+ %33 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_163ab5
+ %34 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
+ %36 = OpAccessChain %_ptr_StorageBuffer_float %34 %uint_0
+ OpCooperativeMatrixStoreKHR %36 %33 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.spvasm
index ee35402..75d568e 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 38
+; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -40,30 +40,32 @@
%half = OpTypeFloat 16
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %15 = OpConstantComposite %16 %half_0x0p_0
%uint_1 = OpConstant %uint 1
- %20 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %19 = OpConstantNull %20
- %22 = OpConstantNull %9
+ %21 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
+ %20 = OpConstantComposite %21 %half_0x0p_0
+ %int_0 = OpConstant %int 0
+ %23 = OpConstantComposite %9 %int_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %29 = OpTypeFunction %void
+ %31 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_int_uint_1024 = OpTypePointer StorageBuffer %_arr_int_uint_1024
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_3ea7db = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
- OpStore %res %23
- %26 = OpLoad %9 %res None
- OpReturnValue %26
+ %25 = OpCooperativeMatrixMulAddKHR %9 %15 %20 %23 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
+ OpStore %res %25
+ %28 = OpLoad %9 %res None
+ OpReturnValue %28
OpFunctionEnd
-%compute_main = OpFunction %void None %29
- %30 = OpLabel
- %31 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_3ea7db
- %32 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
- %34 = OpAccessChain %_ptr_StorageBuffer_int %32 %uint_0
- OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %31
+ %32 = OpLabel
+ %33 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_3ea7db
+ %34 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
+ %36 = OpAccessChain %_ptr_StorageBuffer_int %34 %uint_0
+ OpCooperativeMatrixStoreKHR %36 %33 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.spvasm
index 339d561..4bb3a33 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -36,30 +36,31 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %15 = OpConstantComposite %16 %uint_0
%uint_1 = OpConstant %uint 1
%19 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %9
+ %18 = OpConstantComposite %19 %uint_0
+ %int_0 = OpConstant %int 0
+ %21 = OpConstantComposite %9 %int_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_int_uint_1024 = OpTypePointer StorageBuffer %_arr_int_uint_1024
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_676ca8 = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %22 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
- OpStore %res %22
- %25 = OpLoad %9 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
+ OpStore %res %23
+ %26 = OpLoad %9 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_676ca8
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_int %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_676ca8
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_int %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.spvasm
index 0b85e66..0d03f44 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -36,30 +36,31 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %int_0 = OpConstant %int 0
+ %15 = OpConstantComposite %16 %int_0
%uint_1 = OpConstant %uint 1
- %19 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %9
+ %20 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
+ %19 = OpConstantComposite %20 %int_0
+ %22 = OpConstantComposite %9 %int_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_int_uint_1024 = OpTypePointer StorageBuffer %_arr_int_uint_1024
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_709578 = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %22 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR|MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
- OpStore %res %22
- %25 = OpLoad %9 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR|MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
+ OpStore %res %23
+ %26 = OpLoad %9 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_709578
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_int %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_709578
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_int %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.spvasm
index 1e699e1..6064bfb 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 38
+; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -40,30 +40,32 @@
%int = OpTypeInt 32 1
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %int_0 = OpConstant %int 0
+ %15 = OpConstantComposite %16 %int_0
%uint_1 = OpConstant %uint 1
- %20 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %19 = OpConstantNull %20
- %22 = OpConstantNull %9
+ %21 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
+ %20 = OpConstantComposite %21 %int_0
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %23 = OpConstantComposite %9 %half_0x0p_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %29 = OpTypeFunction %void
+ %31 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_half_uint_1024 = OpTypePointer StorageBuffer %_arr_half_uint_1024
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_7ceae2 = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
- OpStore %res %23
- %26 = OpLoad %9 %res None
- OpReturnValue %26
+ %25 = OpCooperativeMatrixMulAddKHR %9 %15 %20 %23 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
+ OpStore %res %25
+ %28 = OpLoad %9 %res None
+ OpReturnValue %28
OpFunctionEnd
-%compute_main = OpFunction %void None %29
- %30 = OpLabel
- %31 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_7ceae2
- %32 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
- %34 = OpAccessChain %_ptr_StorageBuffer_half %32 %uint_0
- OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %31
+ %32 = OpLabel
+ %33 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_7ceae2
+ %34 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
+ %36 = OpAccessChain %_ptr_StorageBuffer_half %34 %uint_0
+ OpCooperativeMatrixStoreKHR %36 %33 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.spvasm
index cd4ff4a..3ab2d7f 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -36,30 +36,31 @@
%int = OpTypeInt 32 1
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+ %int_0 = OpConstant %int 0
+ %14 = OpConstantComposite %15 %int_0
%uint_1 = OpConstant %uint 1
- %19 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %8
+ %20 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
+ %19 = OpConstantComposite %20 %int_0
+ %22 = OpConstantComposite %8 %uint_0
%_ptr_Function_8 = OpTypePointer Function %8
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_uint_uint_1024 = OpTypePointer StorageBuffer %_arr_uint_uint_1024
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_877989 = OpFunction %8 None %12
%13 = OpLabel
%res = OpVariable %_ptr_Function_8 Function
- %22 = OpCooperativeMatrixMulAddKHR %8 %14 %18 %21 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
- OpStore %res %22
- %25 = OpLoad %8 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %8 %14 %19 %22 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
+ OpStore %res %23
+ %26 = OpLoad %8 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %8 %subgroupMatrixMultiplyAccumulate_877989
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_uint %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %8 %subgroupMatrixMultiplyAccumulate_877989
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_uint %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.spvasm
index f9f8c8c..a33c6ca 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,30 +39,31 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %15 = OpConstantComposite %16 %half_0x0p_0
%uint_1 = OpConstant %uint 1
- %19 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %9
+ %20 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
+ %19 = OpConstantComposite %20 %half_0x0p_0
+ %22 = OpConstantComposite %9 %half_0x0p_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_half_uint_1024 = OpTypePointer StorageBuffer %_arr_half_uint_1024
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_8b907c = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %22 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 NoneKHR
- OpStore %res %22
- %25 = OpLoad %9 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 NoneKHR
+ OpStore %res %23
+ %26 = OpLoad %9 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_8b907c
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_half %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_8b907c
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_half %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.spvasm
index c335c4f..f07e00f 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.spvasm
@@ -35,11 +35,11 @@
%12 = OpTypeFunction %8
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+ %14 = OpConstantComposite %15 %uint_0
%uint_1 = OpConstant %uint 1
%18 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %17 = OpConstantNull %18
- %20 = OpConstantNull %8
+ %17 = OpConstantComposite %18 %uint_0
+ %20 = OpConstantComposite %8 %uint_0
%_ptr_Function_8 = OpTypePointer Function %8
%void = OpTypeVoid
%27 = OpTypeFunction %void
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.spvasm
index e1f2588..6d694f4 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 38
+; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -40,30 +40,32 @@
%float = OpTypeFloat 32
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %float_0 = OpConstant %float 0
+ %15 = OpConstantComposite %16 %float_0
%uint_1 = OpConstant %uint 1
- %20 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %19 = OpConstantNull %20
- %22 = OpConstantNull %9
+ %21 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
+ %20 = OpConstantComposite %21 %float_0
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %23 = OpConstantComposite %9 %half_0x0p_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %29 = OpTypeFunction %void
+ %31 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_half_uint_1024 = OpTypePointer StorageBuffer %_arr_half_uint_1024
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_c4062a = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 NoneKHR
- OpStore %res %23
- %26 = OpLoad %9 %res None
- OpReturnValue %26
+ %25 = OpCooperativeMatrixMulAddKHR %9 %15 %20 %23 NoneKHR
+ OpStore %res %25
+ %28 = OpLoad %9 %res None
+ OpReturnValue %28
OpFunctionEnd
-%compute_main = OpFunction %void None %29
- %30 = OpLabel
- %31 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_c4062a
- %32 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
- %34 = OpAccessChain %_ptr_StorageBuffer_half %32 %uint_0
- OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %31
+ %32 = OpLabel
+ %33 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_c4062a
+ %34 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
+ %36 = OpAccessChain %_ptr_StorageBuffer_half %34 %uint_0
+ OpCooperativeMatrixStoreKHR %36 %33 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.spvasm
index a2a0579..73f83e2 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -36,30 +36,31 @@
%float = OpTypeFloat 32
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+ %float_0 = OpConstant %float 0
+ %14 = OpConstantComposite %15 %float_0
%uint_1 = OpConstant %uint 1
- %19 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %8
+ %20 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
+ %19 = OpConstantComposite %20 %float_0
+ %22 = OpConstantComposite %8 %uint_0
%_ptr_Function_8 = OpTypePointer Function %8
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_uint_uint_1024 = OpTypePointer StorageBuffer %_arr_uint_uint_1024
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_db91bf = OpFunction %8 None %12
%13 = OpLabel
%res = OpVariable %_ptr_Function_8 Function
- %22 = OpCooperativeMatrixMulAddKHR %8 %14 %18 %21 NoneKHR
- OpStore %res %22
- %25 = OpLoad %8 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %8 %14 %19 %22 NoneKHR
+ OpStore %res %23
+ %26 = OpLoad %8 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %8 %subgroupMatrixMultiplyAccumulate_db91bf
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_uint %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %8 %subgroupMatrixMultiplyAccumulate_db91bf
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_uint %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.spvasm
index 56a5a56..3d144e3 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 38
+; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -37,30 +37,32 @@
%float = OpTypeFloat 32
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %float_0 = OpConstant %float 0
+ %15 = OpConstantComposite %16 %float_0
%uint_1 = OpConstant %uint 1
- %20 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %19 = OpConstantNull %20
- %22 = OpConstantNull %9
+ %21 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
+ %20 = OpConstantComposite %21 %float_0
+ %int_0 = OpConstant %int 0
+ %23 = OpConstantComposite %9 %int_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %29 = OpTypeFunction %void
+ %31 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_int_uint_1024 = OpTypePointer StorageBuffer %_arr_int_uint_1024
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_e27d24 = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
- OpStore %res %23
- %26 = OpLoad %9 %res None
- OpReturnValue %26
+ %25 = OpCooperativeMatrixMulAddKHR %9 %15 %20 %23 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
+ OpStore %res %25
+ %28 = OpLoad %9 %res None
+ OpReturnValue %28
OpFunctionEnd
-%compute_main = OpFunction %void None %29
- %30 = OpLabel
- %31 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_e27d24
- %32 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
- %34 = OpAccessChain %_ptr_StorageBuffer_int %32 %uint_0
- OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %31
+ %32 = OpLabel
+ %33 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_e27d24
+ %34 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
+ %36 = OpAccessChain %_ptr_StorageBuffer_int %34 %uint_0
+ OpCooperativeMatrixStoreKHR %36 %33 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.spvasm
index 32eca55..d874e8f 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -36,30 +36,31 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %15 = OpConstantComposite %16 %uint_0
%uint_1 = OpConstant %uint 1
%19 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %9
+ %18 = OpConstantComposite %19 %uint_0
+ %float_0 = OpConstant %float 0
+ %21 = OpConstantComposite %9 %float_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_float_uint_1024 = OpTypePointer StorageBuffer %_arr_float_uint_1024
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_e49afd = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %22 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 NoneKHR
- OpStore %res %22
- %25 = OpLoad %9 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 NoneKHR
+ OpStore %res %23
+ %26 = OpLoad %9 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_e49afd
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_float %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_e49afd
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_float %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.spvasm
index f8b331d..a265424 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 37
+; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -36,30 +36,31 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %float_0 = OpConstant %float 0
+ %15 = OpConstantComposite %16 %float_0
%uint_1 = OpConstant %uint 1
- %19 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %18 = OpConstantNull %19
- %21 = OpConstantNull %9
+ %20 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
+ %19 = OpConstantComposite %20 %float_0
+ %22 = OpConstantComposite %9 %float_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %28 = OpTypeFunction %void
+ %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_float_uint_1024 = OpTypePointer StorageBuffer %_arr_float_uint_1024
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_e7fb3c = OpFunction %9 None %13
%14 = OpLabel
%res = OpVariable %_ptr_Function_9 Function
- %22 = OpCooperativeMatrixMulAddKHR %9 %15 %18 %21 NoneKHR
- OpStore %res %22
- %25 = OpLoad %9 %res None
- OpReturnValue %25
+ %23 = OpCooperativeMatrixMulAddKHR %9 %15 %19 %22 NoneKHR
+ OpStore %res %23
+ %26 = OpLoad %9 %res None
+ OpReturnValue %26
OpFunctionEnd
-%compute_main = OpFunction %void None %28
- %29 = OpLabel
- %30 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_e7fb3c
- %31 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
- %33 = OpAccessChain %_ptr_StorageBuffer_float %31 %uint_0
- OpCooperativeMatrixStoreKHR %33 %30 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %29
+ %30 = OpLabel
+ %31 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_e7fb3c
+ %32 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
+ %34 = OpAccessChain %_ptr_StorageBuffer_float %32 %uint_0
+ OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.spvasm
index 04f0974..3a28fd0 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 27
+; Bound: 28
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -42,18 +42,19 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%17 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %16 = OpConstantNull %17
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %16 = OpConstantComposite %17 %half_0x0p_0
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_1 = OpConstant %uint 1
%subgroupMatrixStore_0522d1 = OpFunction %void None %11
%12 = OpLabel
%13 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_64 %1 %uint_0 %uint_0
- %20 = OpAccessChain %_ptr_StorageBuffer_half %13 %uint_1
- OpCooperativeMatrixStoreKHR %20 %16 %uint_1 %uint_1 NonPrivatePointer
+ %21 = OpAccessChain %_ptr_StorageBuffer_half %13 %uint_1
+ OpCooperativeMatrixStoreKHR %21 %16 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %25 = OpLabel
- %26 = OpFunctionCall %void %subgroupMatrixStore_0522d1
+ %26 = OpLabel
+ %27 = OpFunctionCall %void %subgroupMatrixStore_0522d1
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.spvasm
index d1c4213..be6b1cc 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.spvasm
@@ -36,43 +36,43 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%14 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_2
- %13 = OpConstantNull %14
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %13 = OpConstantComposite %14 %half_0x0p_0
%_ptr_Workgroup_half = OpTypePointer Workgroup %half
%uint_1 = OpConstant %uint 1
- %24 = OpTypeFunction %void %uint
+ %25 = OpTypeFunction %void %uint
%bool = OpTypeBool
-%half_0x0p_0 = OpConstant %half 0x0p+0
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_127fb7 = OpFunction %void None %11
%12 = OpLabel
- %18 = OpAccessChain %_ptr_Workgroup_half %arg_0 %uint_1
- OpCooperativeMatrixStoreKHR %18 %13 %uint_1 %uint_1 NonPrivatePointer
+ %19 = OpAccessChain %_ptr_Workgroup_half %arg_0 %uint_1
+ OpCooperativeMatrixStoreKHR %19 %13 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %24
+%compute_main_inner = OpFunction %void None %25
%tint_local_index = OpFunctionParameter %uint
- %25 = OpLabel
- OpBranch %26
%26 = OpLabel
- OpBranch %29
- %29 = OpLabel
- %31 = OpPhi %uint %tint_local_index %26 %32 %28
- OpLoopMerge %30 %28 None
OpBranch %27
%27 = OpLabel
- %33 = OpUGreaterThanEqual %bool %31 %uint_64
- OpSelectionMerge %35 None
- OpBranchConditional %33 %36 %35
- %36 = OpLabel
OpBranch %30
- %35 = OpLabel
- %37 = OpAccessChain %_ptr_Workgroup_half %arg_0 %31
- OpStore %37 %half_0x0p_0 NonPrivatePointer
+ %30 = OpLabel
+ %32 = OpPhi %uint %tint_local_index %27 %33 %29
+ OpLoopMerge %31 %29 None
OpBranch %28
%28 = OpLabel
- %32 = OpIAdd %uint %31 %uint_1
+ %34 = OpUGreaterThanEqual %bool %32 %uint_64
+ OpSelectionMerge %36 None
+ OpBranchConditional %34 %37 %36
+ %37 = OpLabel
+ OpBranch %31
+ %36 = OpLabel
+ %38 = OpAccessChain %_ptr_Workgroup_half %arg_0 %32
+ OpStore %38 %half_0x0p_0 NonPrivatePointer
OpBranch %29
- %30 = OpLabel
+ %29 = OpLabel
+ %33 = OpIAdd %uint %32 %uint_1
+ OpBranch %30
+ %31 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%41 = OpFunctionCall %void %subgroupMatrixStore_127fb7
OpReturn
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.spvasm
index 0ee51df..7f6654f 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 28
+; Bound: 29
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -43,18 +43,19 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%17 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_2
- %16 = OpConstantNull %17
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %16 = OpConstantComposite %17 %half_0x0p_0
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_1 = OpConstant %uint 1
%subgroupMatrixStore_1466ba = OpFunction %void None %11
%12 = OpLabel
%13 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_64 %1 %uint_0 %uint_0
- %21 = OpAccessChain %_ptr_StorageBuffer_half %13 %uint_1
- OpCooperativeMatrixStoreKHR %21 %16 %uint_1 %uint_1 NonPrivatePointer
+ %22 = OpAccessChain %_ptr_StorageBuffer_half %13 %uint_1
+ OpCooperativeMatrixStoreKHR %22 %16 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %26 = OpLabel
- %27 = OpFunctionCall %void %subgroupMatrixStore_1466ba
+ %27 = OpLabel
+ %28 = OpFunctionCall %void %subgroupMatrixStore_1466ba
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.spvasm
index f220b1e..0cb7e58 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 27
+; Bound: 28
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -40,17 +40,18 @@
%uint_8 = OpConstant %uint 8
%uint_1 = OpConstant %uint 1
%17 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %16 = OpConstantNull %17
+ %int_0 = OpConstant %int 0
+ %16 = OpConstantComposite %17 %int_0
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%subgroupMatrixStore_184580 = OpFunction %void None %11
%12 = OpLabel
%13 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_64 %1 %uint_0 %uint_0
- %21 = OpAccessChain %_ptr_StorageBuffer_int %13 %uint_1
- OpCooperativeMatrixStoreKHR %21 %16 %uint_1 %uint_1 NonPrivatePointer
+ %22 = OpAccessChain %_ptr_StorageBuffer_int %13 %uint_1
+ OpCooperativeMatrixStoreKHR %22 %16 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %25 = OpLabel
- %26 = OpFunctionCall %void %subgroupMatrixStore_184580
+ %26 = OpLabel
+ %27 = OpFunctionCall %void %subgroupMatrixStore_184580
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.spvasm
index 1156b8e..2789f77 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 27
+; Bound: 28
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,18 +39,19 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%17 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %16 = OpConstantNull %17
+ %float_0 = OpConstant %float 0
+ %16 = OpConstantComposite %17 %float_0
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_1 = OpConstant %uint 1
%subgroupMatrixStore_197435 = OpFunction %void None %11
%12 = OpLabel
%13 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_64 %1 %uint_0 %uint_0
- %20 = OpAccessChain %_ptr_StorageBuffer_float %13 %uint_1
- OpCooperativeMatrixStoreKHR %20 %16 %uint_1 %uint_1 NonPrivatePointer
+ %21 = OpAccessChain %_ptr_StorageBuffer_float %13 %uint_1
+ OpCooperativeMatrixStoreKHR %21 %16 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %25 = OpLabel
- %26 = OpFunctionCall %void %subgroupMatrixStore_197435
+ %26 = OpLabel
+ %27 = OpFunctionCall %void %subgroupMatrixStore_197435
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.spvasm
index 6aaae0d..ad2e082 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2d78d3.wgsl.expected.spvasm
@@ -35,7 +35,7 @@
%uint_8 = OpConstant %uint 8
%uint_1 = OpConstant %uint 1
%14 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %13 = OpConstantNull %14
+ %13 = OpConstantComposite %14 %uint_0
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%subgroupMatrixStore_2d78d3 = OpFunction %void None %8
%9 = OpLabel
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.spvasm
index 3db8929..f14d03a 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.spvasm
@@ -32,43 +32,43 @@
%uint_8 = OpConstant %uint 8
%uint_1 = OpConstant %uint 1
%13 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %12 = OpConstantNull %13
-%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
- %22 = OpTypeFunction %void %uint
- %bool = OpTypeBool
%uint_0 = OpConstant %uint 0
+ %12 = OpConstantComposite %13 %uint_0
+%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
+ %23 = OpTypeFunction %void %uint
+ %bool = OpTypeBool
%uint_2 = OpConstant %uint 2
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_2de0b1 = OpFunction %void None %10
%11 = OpLabel
- %17 = OpAccessChain %_ptr_Workgroup_uint %arg_0 %uint_1
- OpCooperativeMatrixStoreKHR %17 %12 %uint_1 %uint_1 NonPrivatePointer
+ %18 = OpAccessChain %_ptr_Workgroup_uint %arg_0 %uint_1
+ OpCooperativeMatrixStoreKHR %18 %12 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %22
+%compute_main_inner = OpFunction %void None %23
%tint_local_index = OpFunctionParameter %uint
- %23 = OpLabel
- OpBranch %24
%24 = OpLabel
- OpBranch %27
- %27 = OpLabel
- %29 = OpPhi %uint %tint_local_index %24 %30 %26
- OpLoopMerge %28 %26 None
OpBranch %25
%25 = OpLabel
- %31 = OpUGreaterThanEqual %bool %29 %uint_64
- OpSelectionMerge %33 None
- OpBranchConditional %31 %34 %33
- %34 = OpLabel
OpBranch %28
- %33 = OpLabel
- %35 = OpAccessChain %_ptr_Workgroup_uint %arg_0 %29
- OpStore %35 %uint_0 NonPrivatePointer
+ %28 = OpLabel
+ %30 = OpPhi %uint %tint_local_index %25 %31 %27
+ OpLoopMerge %29 %27 None
OpBranch %26
%26 = OpLabel
- %30 = OpIAdd %uint %29 %uint_1
+ %32 = OpUGreaterThanEqual %bool %30 %uint_64
+ OpSelectionMerge %34 None
+ OpBranchConditional %32 %35 %34
+ %35 = OpLabel
+ OpBranch %29
+ %34 = OpLabel
+ %36 = OpAccessChain %_ptr_Workgroup_uint %arg_0 %30
+ OpStore %36 %uint_0 NonPrivatePointer
OpBranch %27
- %28 = OpLabel
+ %27 = OpLabel
+ %31 = OpIAdd %uint %30 %uint_1
+ OpBranch %28
+ %29 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%40 = OpFunctionCall %void %subgroupMatrixStore_2de0b1
OpReturn
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.spvasm
index 8b095ad..a18cbe3 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/3ea76e.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 25
+; Bound: 26
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -35,18 +35,19 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%15 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+ %int_0 = OpConstant %int 0
+ %14 = OpConstantComposite %15 %int_0
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_1 = OpConstant %uint 1
%subgroupMatrixStore_3ea76e = OpFunction %void None %8
%9 = OpLabel
%10 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_rw %uint_0
- %18 = OpAccessChain %_ptr_StorageBuffer_int %10 %uint_1
- OpCooperativeMatrixStoreKHR %18 %14 %uint_1 %uint_1 NonPrivatePointer
+ %19 = OpAccessChain %_ptr_StorageBuffer_int %10 %uint_1
+ OpCooperativeMatrixStoreKHR %19 %14 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %23 = OpLabel
- %24 = OpFunctionCall %void %subgroupMatrixStore_3ea76e
+ %24 = OpLabel
+ %25 = OpFunctionCall %void %subgroupMatrixStore_3ea76e
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.spvasm
index f7ca4d7..b9b9aea 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 27
+; Bound: 28
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -40,17 +40,18 @@
%uint_8 = OpConstant %uint 8
%uint_1 = OpConstant %uint 1
%17 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %16 = OpConstantNull %17
+ %float_0 = OpConstant %float 0
+ %16 = OpConstantComposite %17 %float_0
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%subgroupMatrixStore_3fcc0f = OpFunction %void None %11
%12 = OpLabel
%13 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_64 %1 %uint_0 %uint_0
- %21 = OpAccessChain %_ptr_StorageBuffer_float %13 %uint_1
- OpCooperativeMatrixStoreKHR %21 %16 %uint_1 %uint_1 NonPrivatePointer
+ %22 = OpAccessChain %_ptr_StorageBuffer_float %13 %uint_1
+ OpCooperativeMatrixStoreKHR %22 %16 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %25 = OpLabel
- %26 = OpFunctionCall %void %subgroupMatrixStore_3fcc0f
+ %26 = OpLabel
+ %27 = OpFunctionCall %void %subgroupMatrixStore_3fcc0f
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.spvasm
index b267ac1..856e51b 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/476cdf.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 26
+; Bound: 27
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -36,18 +36,19 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%15 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_2
- %14 = OpConstantNull %15
+ %int_0 = OpConstant %int 0
+ %14 = OpConstantComposite %15 %int_0
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_1 = OpConstant %uint 1
%subgroupMatrixStore_476cdf = OpFunction %void None %8
%9 = OpLabel
%10 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_rw %uint_0
- %19 = OpAccessChain %_ptr_StorageBuffer_int %10 %uint_1
- OpCooperativeMatrixStoreKHR %19 %14 %uint_1 %uint_1 NonPrivatePointer
+ %20 = OpAccessChain %_ptr_StorageBuffer_int %10 %uint_1
+ OpCooperativeMatrixStoreKHR %20 %14 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %24 = OpLabel
- %25 = OpFunctionCall %void %subgroupMatrixStore_476cdf
+ %25 = OpLabel
+ %26 = OpFunctionCall %void %subgroupMatrixStore_476cdf
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.spvasm
index 0f0e303..ffe1852 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.spvasm
@@ -33,43 +33,43 @@
%uint_8 = OpConstant %uint 8
%uint_1 = OpConstant %uint 1
%14 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %13 = OpConstantNull %14
-%_ptr_Workgroup_float = OpTypePointer Workgroup %float
- %23 = OpTypeFunction %void %uint
- %bool = OpTypeBool
%float_0 = OpConstant %float 0
+ %13 = OpConstantComposite %14 %float_0
+%_ptr_Workgroup_float = OpTypePointer Workgroup %float
+ %24 = OpTypeFunction %void %uint
+ %bool = OpTypeBool
%uint_2 = OpConstant %uint 2
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_49b25b = OpFunction %void None %11
%12 = OpLabel
- %18 = OpAccessChain %_ptr_Workgroup_float %arg_0 %uint_1
- OpCooperativeMatrixStoreKHR %18 %13 %uint_1 %uint_1 NonPrivatePointer
+ %19 = OpAccessChain %_ptr_Workgroup_float %arg_0 %uint_1
+ OpCooperativeMatrixStoreKHR %19 %13 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
+%compute_main_inner = OpFunction %void None %24
%tint_local_index = OpFunctionParameter %uint
- %24 = OpLabel
- OpBranch %25
%25 = OpLabel
- OpBranch %28
- %28 = OpLabel
- %30 = OpPhi %uint %tint_local_index %25 %31 %27
- OpLoopMerge %29 %27 None
OpBranch %26
%26 = OpLabel
- %32 = OpUGreaterThanEqual %bool %30 %uint_64
- OpSelectionMerge %34 None
- OpBranchConditional %32 %35 %34
- %35 = OpLabel
OpBranch %29
- %34 = OpLabel
- %36 = OpAccessChain %_ptr_Workgroup_float %arg_0 %30
- OpStore %36 %float_0 NonPrivatePointer
+ %29 = OpLabel
+ %31 = OpPhi %uint %tint_local_index %26 %32 %28
+ OpLoopMerge %30 %28 None
OpBranch %27
%27 = OpLabel
- %31 = OpIAdd %uint %30 %uint_1
+ %33 = OpUGreaterThanEqual %bool %31 %uint_64
+ OpSelectionMerge %35 None
+ OpBranchConditional %33 %36 %35
+ %36 = OpLabel
+ OpBranch %30
+ %35 = OpLabel
+ %37 = OpAccessChain %_ptr_Workgroup_float %arg_0 %31
+ OpStore %37 %float_0 NonPrivatePointer
OpBranch %28
- %29 = OpLabel
+ %28 = OpLabel
+ %32 = OpIAdd %uint %31 %uint_1
+ OpBranch %29
+ %30 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%41 = OpFunctionCall %void %subgroupMatrixStore_49b25b
OpReturn
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.spvasm
index 00ce2b5..5353b94 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/543411.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 25
+; Bound: 26
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -36,17 +36,18 @@
%uint_8 = OpConstant %uint 8
%uint_1 = OpConstant %uint 1
%15 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %14 = OpConstantNull %15
+ %float_0 = OpConstant %float 0
+ %14 = OpConstantComposite %15 %float_0
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%subgroupMatrixStore_543411 = OpFunction %void None %8
%9 = OpLabel
%10 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_rw %uint_0
- %19 = OpAccessChain %_ptr_StorageBuffer_float %10 %uint_1
- OpCooperativeMatrixStoreKHR %19 %14 %uint_1 %uint_1 NonPrivatePointer
+ %20 = OpAccessChain %_ptr_StorageBuffer_float %10 %uint_1
+ OpCooperativeMatrixStoreKHR %20 %14 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %23 = OpLabel
- %24 = OpFunctionCall %void %subgroupMatrixStore_543411
+ %24 = OpLabel
+ %25 = OpFunctionCall %void %subgroupMatrixStore_543411
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.spvasm
index 46d1b39..a0123dd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.spvasm
@@ -33,43 +33,43 @@
%uint_8 = OpConstant %uint 8
%uint_1 = OpConstant %uint 1
%14 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %13 = OpConstantNull %14
-%_ptr_Workgroup_int = OpTypePointer Workgroup %int
- %23 = OpTypeFunction %void %uint
- %bool = OpTypeBool
%int_0 = OpConstant %int 0
+ %13 = OpConstantComposite %14 %int_0
+%_ptr_Workgroup_int = OpTypePointer Workgroup %int
+ %24 = OpTypeFunction %void %uint
+ %bool = OpTypeBool
%uint_2 = OpConstant %uint 2
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_5671e2 = OpFunction %void None %11
%12 = OpLabel
- %18 = OpAccessChain %_ptr_Workgroup_int %arg_0 %uint_1
- OpCooperativeMatrixStoreKHR %18 %13 %uint_1 %uint_1 NonPrivatePointer
+ %19 = OpAccessChain %_ptr_Workgroup_int %arg_0 %uint_1
+ OpCooperativeMatrixStoreKHR %19 %13 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
+%compute_main_inner = OpFunction %void None %24
%tint_local_index = OpFunctionParameter %uint
- %24 = OpLabel
- OpBranch %25
%25 = OpLabel
- OpBranch %28
- %28 = OpLabel
- %30 = OpPhi %uint %tint_local_index %25 %31 %27
- OpLoopMerge %29 %27 None
OpBranch %26
%26 = OpLabel
- %32 = OpUGreaterThanEqual %bool %30 %uint_64
- OpSelectionMerge %34 None
- OpBranchConditional %32 %35 %34
- %35 = OpLabel
OpBranch %29
- %34 = OpLabel
- %36 = OpAccessChain %_ptr_Workgroup_int %arg_0 %30
- OpStore %36 %int_0 NonPrivatePointer
+ %29 = OpLabel
+ %31 = OpPhi %uint %tint_local_index %26 %32 %28
+ OpLoopMerge %30 %28 None
OpBranch %27
%27 = OpLabel
- %31 = OpIAdd %uint %30 %uint_1
+ %33 = OpUGreaterThanEqual %bool %31 %uint_64
+ OpSelectionMerge %35 None
+ OpBranchConditional %33 %36 %35
+ %36 = OpLabel
+ OpBranch %30
+ %35 = OpLabel
+ %37 = OpAccessChain %_ptr_Workgroup_int %arg_0 %31
+ OpStore %37 %int_0 NonPrivatePointer
OpBranch %28
- %29 = OpLabel
+ %28 = OpLabel
+ %32 = OpIAdd %uint %31 %uint_1
+ OpBranch %29
+ %30 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%41 = OpFunctionCall %void %subgroupMatrixStore_5671e2
OpReturn
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.spvasm
index fb94318..f74918e 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.spvasm
@@ -39,7 +39,7 @@
%uint_8 = OpConstant %uint 8
%uint_1 = OpConstant %uint 1
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %15 = OpConstantNull %16
+ %15 = OpConstantComposite %16 %uint_0
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%subgroupMatrixStore_57de92 = OpFunction %void None %10
%11 = OpLabel
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.spvasm
index 987867d..db954cf 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.spvasm
@@ -32,7 +32,7 @@
%uint_8 = OpConstant %uint 8
%uint_0 = OpConstant %uint 0
%13 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %12 = OpConstantNull %13
+ %12 = OpConstantComposite %13 %uint_0
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
%uint_1 = OpConstant %uint 1
%23 = OpTypeFunction %void %uint
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.spvasm
index 9e8a486..a875538 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/6d8de7.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 25
+; Bound: 26
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,17 +39,18 @@
%uint_8 = OpConstant %uint 8
%uint_1 = OpConstant %uint 1
%15 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %14 = OpConstantNull %15
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %14 = OpConstantComposite %15 %half_0x0p_0
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%subgroupMatrixStore_6d8de7 = OpFunction %void None %8
%9 = OpLabel
%10 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_rw %uint_0
- %19 = OpAccessChain %_ptr_StorageBuffer_half %10 %uint_1
- OpCooperativeMatrixStoreKHR %19 %14 %uint_1 %uint_1 NonPrivatePointer
+ %20 = OpAccessChain %_ptr_StorageBuffer_half %10 %uint_1
+ OpCooperativeMatrixStoreKHR %20 %14 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %23 = OpLabel
- %24 = OpFunctionCall %void %subgroupMatrixStore_6d8de7
+ %24 = OpLabel
+ %25 = OpFunctionCall %void %subgroupMatrixStore_6d8de7
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.spvasm
index f8507b5..407f0fd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 28
+; Bound: 29
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -40,18 +40,19 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%17 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_2
- %16 = OpConstantNull %17
+ %float_0 = OpConstant %float 0
+ %16 = OpConstantComposite %17 %float_0
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_1 = OpConstant %uint 1
%subgroupMatrixStore_8a2280 = OpFunction %void None %11
%12 = OpLabel
%13 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_64 %1 %uint_0 %uint_0
- %21 = OpAccessChain %_ptr_StorageBuffer_float %13 %uint_1
- OpCooperativeMatrixStoreKHR %21 %16 %uint_1 %uint_1 NonPrivatePointer
+ %22 = OpAccessChain %_ptr_StorageBuffer_float %13 %uint_1
+ OpCooperativeMatrixStoreKHR %22 %16 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %26 = OpLabel
- %27 = OpFunctionCall %void %subgroupMatrixStore_8a2280
+ %27 = OpLabel
+ %28 = OpFunctionCall %void %subgroupMatrixStore_8a2280
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.spvasm
index 7200e4e..27836fb 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8c59ed.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%14 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %13 = OpConstantNull %14
+ %13 = OpConstantComposite %14 %uint_0
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%uint_1 = OpConstant %uint 1
%subgroupMatrixStore_8c59ed = OpFunction %void None %8
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.spvasm
index dec8435..9062def 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 27
+; Bound: 28
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,18 +39,19 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%17 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %16 = OpConstantNull %17
+ %int_0 = OpConstant %int 0
+ %16 = OpConstantComposite %17 %int_0
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_1 = OpConstant %uint 1
%subgroupMatrixStore_9019ee = OpFunction %void None %11
%12 = OpLabel
%13 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_64 %1 %uint_0 %uint_0
- %20 = OpAccessChain %_ptr_StorageBuffer_int %13 %uint_1
- OpCooperativeMatrixStoreKHR %20 %16 %uint_1 %uint_1 NonPrivatePointer
+ %21 = OpAccessChain %_ptr_StorageBuffer_int %13 %uint_1
+ OpCooperativeMatrixStoreKHR %21 %16 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %25 = OpLabel
- %26 = OpFunctionCall %void %subgroupMatrixStore_9019ee
+ %26 = OpLabel
+ %27 = OpFunctionCall %void %subgroupMatrixStore_9019ee
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.spvasm
index ba63829..42aa260 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.spvasm
@@ -32,43 +32,43 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%13 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_2
- %12 = OpConstantNull %13
+ %uint_0 = OpConstant %uint 0
+ %12 = OpConstantComposite %13 %uint_0
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
%uint_1 = OpConstant %uint 1
- %23 = OpTypeFunction %void %uint
+ %24 = OpTypeFunction %void %uint
%bool = OpTypeBool
- %uint_0 = OpConstant %uint 0
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_9a7d60 = OpFunction %void None %10
%11 = OpLabel
- %17 = OpAccessChain %_ptr_Workgroup_uint %arg_0 %uint_1
- OpCooperativeMatrixStoreKHR %17 %12 %uint_1 %uint_1 NonPrivatePointer
+ %18 = OpAccessChain %_ptr_Workgroup_uint %arg_0 %uint_1
+ OpCooperativeMatrixStoreKHR %18 %12 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
+%compute_main_inner = OpFunction %void None %24
%tint_local_index = OpFunctionParameter %uint
- %24 = OpLabel
- OpBranch %25
%25 = OpLabel
- OpBranch %28
- %28 = OpLabel
- %30 = OpPhi %uint %tint_local_index %25 %31 %27
- OpLoopMerge %29 %27 None
OpBranch %26
%26 = OpLabel
- %32 = OpUGreaterThanEqual %bool %30 %uint_64
- OpSelectionMerge %34 None
- OpBranchConditional %32 %35 %34
- %35 = OpLabel
OpBranch %29
- %34 = OpLabel
- %36 = OpAccessChain %_ptr_Workgroup_uint %arg_0 %30
- OpStore %36 %uint_0 NonPrivatePointer
+ %29 = OpLabel
+ %31 = OpPhi %uint %tint_local_index %26 %32 %28
+ OpLoopMerge %30 %28 None
OpBranch %27
%27 = OpLabel
- %31 = OpIAdd %uint %30 %uint_1
+ %33 = OpUGreaterThanEqual %bool %31 %uint_64
+ OpSelectionMerge %35 None
+ OpBranchConditional %33 %36 %35
+ %36 = OpLabel
+ OpBranch %30
+ %35 = OpLabel
+ %37 = OpAccessChain %_ptr_Workgroup_uint %arg_0 %31
+ OpStore %37 %uint_0 NonPrivatePointer
OpBranch %28
- %29 = OpLabel
+ %28 = OpLabel
+ %32 = OpIAdd %uint %31 %uint_1
+ OpBranch %29
+ %30 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%40 = OpFunctionCall %void %subgroupMatrixStore_9a7d60
OpReturn
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.spvasm
index 0d263ce..74dbca1 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 28
+; Bound: 29
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -40,18 +40,19 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%17 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_2
- %16 = OpConstantNull %17
+ %int_0 = OpConstant %int 0
+ %16 = OpConstantComposite %17 %int_0
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_1 = OpConstant %uint 1
%subgroupMatrixStore_9fffe5 = OpFunction %void None %11
%12 = OpLabel
%13 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_64 %1 %uint_0 %uint_0
- %21 = OpAccessChain %_ptr_StorageBuffer_int %13 %uint_1
- OpCooperativeMatrixStoreKHR %21 %16 %uint_1 %uint_1 NonPrivatePointer
+ %22 = OpAccessChain %_ptr_StorageBuffer_int %13 %uint_1
+ OpCooperativeMatrixStoreKHR %22 %16 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %26 = OpLabel
- %27 = OpFunctionCall %void %subgroupMatrixStore_9fffe5
+ %27 = OpLabel
+ %28 = OpFunctionCall %void %subgroupMatrixStore_9fffe5
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.spvasm
index 208e1b7..cddbfba 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/adbc3e.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 25
+; Bound: 26
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -38,18 +38,19 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%15 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %14 = OpConstantComposite %15 %half_0x0p_0
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_1 = OpConstant %uint 1
%subgroupMatrixStore_adbc3e = OpFunction %void None %8
%9 = OpLabel
%10 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_rw %uint_0
- %18 = OpAccessChain %_ptr_StorageBuffer_half %10 %uint_1
- OpCooperativeMatrixStoreKHR %18 %14 %uint_1 %uint_1 NonPrivatePointer
+ %19 = OpAccessChain %_ptr_StorageBuffer_half %10 %uint_1
+ OpCooperativeMatrixStoreKHR %19 %14 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %23 = OpLabel
- %24 = OpFunctionCall %void %subgroupMatrixStore_adbc3e
+ %24 = OpLabel
+ %25 = OpFunctionCall %void %subgroupMatrixStore_adbc3e
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.spvasm
index 689210b..e4e3978 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.spvasm
@@ -33,43 +33,43 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%14 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_2
- %13 = OpConstantNull %14
+ %float_0 = OpConstant %float 0
+ %13 = OpConstantComposite %14 %float_0
%_ptr_Workgroup_float = OpTypePointer Workgroup %float
%uint_1 = OpConstant %uint 1
- %24 = OpTypeFunction %void %uint
+ %25 = OpTypeFunction %void %uint
%bool = OpTypeBool
- %float_0 = OpConstant %float 0
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_b9ff25 = OpFunction %void None %11
%12 = OpLabel
- %18 = OpAccessChain %_ptr_Workgroup_float %arg_0 %uint_1
- OpCooperativeMatrixStoreKHR %18 %13 %uint_1 %uint_1 NonPrivatePointer
+ %19 = OpAccessChain %_ptr_Workgroup_float %arg_0 %uint_1
+ OpCooperativeMatrixStoreKHR %19 %13 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %24
+%compute_main_inner = OpFunction %void None %25
%tint_local_index = OpFunctionParameter %uint
- %25 = OpLabel
- OpBranch %26
%26 = OpLabel
- OpBranch %29
- %29 = OpLabel
- %31 = OpPhi %uint %tint_local_index %26 %32 %28
- OpLoopMerge %30 %28 None
OpBranch %27
%27 = OpLabel
- %33 = OpUGreaterThanEqual %bool %31 %uint_64
- OpSelectionMerge %35 None
- OpBranchConditional %33 %36 %35
- %36 = OpLabel
OpBranch %30
- %35 = OpLabel
- %37 = OpAccessChain %_ptr_Workgroup_float %arg_0 %31
- OpStore %37 %float_0 NonPrivatePointer
+ %30 = OpLabel
+ %32 = OpPhi %uint %tint_local_index %27 %33 %29
+ OpLoopMerge %31 %29 None
OpBranch %28
%28 = OpLabel
- %32 = OpIAdd %uint %31 %uint_1
+ %34 = OpUGreaterThanEqual %bool %32 %uint_64
+ OpSelectionMerge %36 None
+ OpBranchConditional %34 %37 %36
+ %37 = OpLabel
+ OpBranch %31
+ %36 = OpLabel
+ %38 = OpAccessChain %_ptr_Workgroup_float %arg_0 %32
+ OpStore %38 %float_0 NonPrivatePointer
OpBranch %29
- %30 = OpLabel
+ %29 = OpLabel
+ %33 = OpIAdd %uint %32 %uint_1
+ OpBranch %30
+ %31 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%41 = OpFunctionCall %void %subgroupMatrixStore_b9ff25
OpReturn
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.spvasm
index 9ca36c6..df7c905 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 27
+; Bound: 28
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -43,17 +43,18 @@
%uint_8 = OpConstant %uint 8
%uint_1 = OpConstant %uint 1
%17 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %16 = OpConstantNull %17
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %16 = OpConstantComposite %17 %half_0x0p_0
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%subgroupMatrixStore_ba9442 = OpFunction %void None %11
%12 = OpLabel
%13 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_64 %1 %uint_0 %uint_0
- %21 = OpAccessChain %_ptr_StorageBuffer_half %13 %uint_1
- OpCooperativeMatrixStoreKHR %21 %16 %uint_1 %uint_1 NonPrivatePointer
+ %22 = OpAccessChain %_ptr_StorageBuffer_half %13 %uint_1
+ OpCooperativeMatrixStoreKHR %22 %16 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %25 = OpLabel
- %26 = OpFunctionCall %void %subgroupMatrixStore_ba9442
+ %26 = OpLabel
+ %27 = OpFunctionCall %void %subgroupMatrixStore_ba9442
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.spvasm
index 25d07b0..cab30f0 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb2478.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 26
+; Bound: 27
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -36,18 +36,19 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%15 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_2
- %14 = OpConstantNull %15
+ %float_0 = OpConstant %float 0
+ %14 = OpConstantComposite %15 %float_0
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_1 = OpConstant %uint 1
%subgroupMatrixStore_bb2478 = OpFunction %void None %8
%9 = OpLabel
%10 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_rw %uint_0
- %19 = OpAccessChain %_ptr_StorageBuffer_float %10 %uint_1
- OpCooperativeMatrixStoreKHR %19 %14 %uint_1 %uint_1 NonPrivatePointer
+ %20 = OpAccessChain %_ptr_StorageBuffer_float %10 %uint_1
+ OpCooperativeMatrixStoreKHR %20 %14 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %24 = OpLabel
- %25 = OpFunctionCall %void %subgroupMatrixStore_bb2478
+ %25 = OpLabel
+ %26 = OpFunctionCall %void %subgroupMatrixStore_bb2478
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.spvasm
index 2452631..47438fd 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bb5d49.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 25
+; Bound: 26
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -35,18 +35,19 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%15 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+ %float_0 = OpConstant %float 0
+ %14 = OpConstantComposite %15 %float_0
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_1 = OpConstant %uint 1
%subgroupMatrixStore_bb5d49 = OpFunction %void None %8
%9 = OpLabel
%10 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_rw %uint_0
- %18 = OpAccessChain %_ptr_StorageBuffer_float %10 %uint_1
- OpCooperativeMatrixStoreKHR %18 %14 %uint_1 %uint_1 NonPrivatePointer
+ %19 = OpAccessChain %_ptr_StorageBuffer_float %10 %uint_1
+ OpCooperativeMatrixStoreKHR %19 %14 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %23 = OpLabel
- %24 = OpFunctionCall %void %subgroupMatrixStore_bb5d49
+ %24 = OpLabel
+ %25 = OpFunctionCall %void %subgroupMatrixStore_bb5d49
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.spvasm
index 412d1d7..8f1c0b0 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.spvasm
@@ -33,44 +33,44 @@
%uint_8 = OpConstant %uint 8
%uint_0 = OpConstant %uint 0
%14 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %13 = OpConstantNull %14
+ %int_0 = OpConstant %int 0
+ %13 = OpConstantComposite %14 %int_0
%_ptr_Workgroup_int = OpTypePointer Workgroup %int
%uint_1 = OpConstant %uint 1
- %24 = OpTypeFunction %void %uint
+ %25 = OpTypeFunction %void %uint
%bool = OpTypeBool
- %int_0 = OpConstant %int 0
%uint_2 = OpConstant %uint 2
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_bfd0a4 = OpFunction %void None %11
%12 = OpLabel
- %18 = OpAccessChain %_ptr_Workgroup_int %arg_0 %uint_1
- OpCooperativeMatrixStoreKHR %18 %13 %uint_1 %uint_1 NonPrivatePointer
+ %19 = OpAccessChain %_ptr_Workgroup_int %arg_0 %uint_1
+ OpCooperativeMatrixStoreKHR %19 %13 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %24
+%compute_main_inner = OpFunction %void None %25
%tint_local_index = OpFunctionParameter %uint
- %25 = OpLabel
- OpBranch %26
%26 = OpLabel
- OpBranch %29
- %29 = OpLabel
- %31 = OpPhi %uint %tint_local_index %26 %32 %28
- OpLoopMerge %30 %28 None
OpBranch %27
%27 = OpLabel
- %33 = OpUGreaterThanEqual %bool %31 %uint_64
- OpSelectionMerge %35 None
- OpBranchConditional %33 %36 %35
- %36 = OpLabel
OpBranch %30
- %35 = OpLabel
- %37 = OpAccessChain %_ptr_Workgroup_int %arg_0 %31
- OpStore %37 %int_0 NonPrivatePointer
+ %30 = OpLabel
+ %32 = OpPhi %uint %tint_local_index %27 %33 %29
+ OpLoopMerge %31 %29 None
OpBranch %28
%28 = OpLabel
- %32 = OpIAdd %uint %31 %uint_1
+ %34 = OpUGreaterThanEqual %bool %32 %uint_64
+ OpSelectionMerge %36 None
+ OpBranchConditional %34 %37 %36
+ %37 = OpLabel
+ OpBranch %31
+ %36 = OpLabel
+ %38 = OpAccessChain %_ptr_Workgroup_int %arg_0 %32
+ OpStore %38 %int_0 NonPrivatePointer
OpBranch %29
- %30 = OpLabel
+ %29 = OpLabel
+ %33 = OpIAdd %uint %32 %uint_1
+ OpBranch %30
+ %31 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%42 = OpFunctionCall %void %subgroupMatrixStore_bfd0a4
OpReturn
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.spvasm
index 898bf57..5d87665 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfe106.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 26
+; Bound: 27
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,18 +39,19 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%15 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_2
- %14 = OpConstantNull %15
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %14 = OpConstantComposite %15 %half_0x0p_0
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_1 = OpConstant %uint 1
%subgroupMatrixStore_bfe106 = OpFunction %void None %8
%9 = OpLabel
%10 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_rw %uint_0
- %19 = OpAccessChain %_ptr_StorageBuffer_half %10 %uint_1
- OpCooperativeMatrixStoreKHR %19 %14 %uint_1 %uint_1 NonPrivatePointer
+ %20 = OpAccessChain %_ptr_StorageBuffer_half %10 %uint_1
+ OpCooperativeMatrixStoreKHR %20 %14 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %24 = OpLabel
- %25 = OpFunctionCall %void %subgroupMatrixStore_bfe106
+ %25 = OpLabel
+ %26 = OpFunctionCall %void %subgroupMatrixStore_bfe106
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.spvasm
index 1e84a08..7b4f315 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.spvasm
@@ -36,43 +36,43 @@
%uint_8 = OpConstant %uint 8
%uint_1 = OpConstant %uint 1
%14 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %13 = OpConstantNull %14
-%_ptr_Workgroup_half = OpTypePointer Workgroup %half
- %23 = OpTypeFunction %void %uint
- %bool = OpTypeBool
%half_0x0p_0 = OpConstant %half 0x0p+0
+ %13 = OpConstantComposite %14 %half_0x0p_0
+%_ptr_Workgroup_half = OpTypePointer Workgroup %half
+ %24 = OpTypeFunction %void %uint
+ %bool = OpTypeBool
%uint_2 = OpConstant %uint 2
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_d07581 = OpFunction %void None %11
%12 = OpLabel
- %18 = OpAccessChain %_ptr_Workgroup_half %arg_0 %uint_1
- OpCooperativeMatrixStoreKHR %18 %13 %uint_1 %uint_1 NonPrivatePointer
+ %19 = OpAccessChain %_ptr_Workgroup_half %arg_0 %uint_1
+ OpCooperativeMatrixStoreKHR %19 %13 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %23
+%compute_main_inner = OpFunction %void None %24
%tint_local_index = OpFunctionParameter %uint
- %24 = OpLabel
- OpBranch %25
%25 = OpLabel
- OpBranch %28
- %28 = OpLabel
- %30 = OpPhi %uint %tint_local_index %25 %31 %27
- OpLoopMerge %29 %27 None
OpBranch %26
%26 = OpLabel
- %32 = OpUGreaterThanEqual %bool %30 %uint_64
- OpSelectionMerge %34 None
- OpBranchConditional %32 %35 %34
- %35 = OpLabel
OpBranch %29
- %34 = OpLabel
- %36 = OpAccessChain %_ptr_Workgroup_half %arg_0 %30
- OpStore %36 %half_0x0p_0 NonPrivatePointer
+ %29 = OpLabel
+ %31 = OpPhi %uint %tint_local_index %26 %32 %28
+ OpLoopMerge %30 %28 None
OpBranch %27
%27 = OpLabel
- %31 = OpIAdd %uint %30 %uint_1
+ %33 = OpUGreaterThanEqual %bool %31 %uint_64
+ OpSelectionMerge %35 None
+ OpBranchConditional %33 %36 %35
+ %36 = OpLabel
+ OpBranch %30
+ %35 = OpLabel
+ %37 = OpAccessChain %_ptr_Workgroup_half %arg_0 %31
+ OpStore %37 %half_0x0p_0 NonPrivatePointer
OpBranch %28
- %29 = OpLabel
+ %28 = OpLabel
+ %32 = OpIAdd %uint %31 %uint_1
+ OpBranch %29
+ %30 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%41 = OpFunctionCall %void %subgroupMatrixStore_d07581
OpReturn
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.spvasm
index 435033c..fa1e5b2 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/d55153.wgsl.expected.spvasm
@@ -35,7 +35,7 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%14 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_2
- %13 = OpConstantNull %14
+ %13 = OpConstantComposite %14 %uint_0
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%uint_1 = OpConstant %uint 1
%subgroupMatrixStore_d55153 = OpFunction %void None %8
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.spvasm
index ff8b73b..ba312a3 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.spvasm
@@ -38,7 +38,7 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %15 = OpConstantComposite %16 %uint_0
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%uint_1 = OpConstant %uint 1
%subgroupMatrixStore_db6dd2 = OpFunction %void None %10
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.spvasm
index 675f954..6098dc1 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.spvasm
@@ -33,44 +33,44 @@
%uint_8 = OpConstant %uint 8
%uint_0 = OpConstant %uint 0
%14 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %13 = OpConstantNull %14
+ %float_0 = OpConstant %float 0
+ %13 = OpConstantComposite %14 %float_0
%_ptr_Workgroup_float = OpTypePointer Workgroup %float
%uint_1 = OpConstant %uint 1
- %24 = OpTypeFunction %void %uint
+ %25 = OpTypeFunction %void %uint
%bool = OpTypeBool
- %float_0 = OpConstant %float 0
%uint_2 = OpConstant %uint 2
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_dc92cf = OpFunction %void None %11
%12 = OpLabel
- %18 = OpAccessChain %_ptr_Workgroup_float %arg_0 %uint_1
- OpCooperativeMatrixStoreKHR %18 %13 %uint_1 %uint_1 NonPrivatePointer
+ %19 = OpAccessChain %_ptr_Workgroup_float %arg_0 %uint_1
+ OpCooperativeMatrixStoreKHR %19 %13 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %24
+%compute_main_inner = OpFunction %void None %25
%tint_local_index = OpFunctionParameter %uint
- %25 = OpLabel
- OpBranch %26
%26 = OpLabel
- OpBranch %29
- %29 = OpLabel
- %31 = OpPhi %uint %tint_local_index %26 %32 %28
- OpLoopMerge %30 %28 None
OpBranch %27
%27 = OpLabel
- %33 = OpUGreaterThanEqual %bool %31 %uint_64
- OpSelectionMerge %35 None
- OpBranchConditional %33 %36 %35
- %36 = OpLabel
OpBranch %30
- %35 = OpLabel
- %37 = OpAccessChain %_ptr_Workgroup_float %arg_0 %31
- OpStore %37 %float_0 NonPrivatePointer
+ %30 = OpLabel
+ %32 = OpPhi %uint %tint_local_index %27 %33 %29
+ OpLoopMerge %31 %29 None
OpBranch %28
%28 = OpLabel
- %32 = OpIAdd %uint %31 %uint_1
+ %34 = OpUGreaterThanEqual %bool %32 %uint_64
+ OpSelectionMerge %36 None
+ OpBranchConditional %34 %37 %36
+ %37 = OpLabel
+ OpBranch %31
+ %36 = OpLabel
+ %38 = OpAccessChain %_ptr_Workgroup_float %arg_0 %32
+ OpStore %38 %float_0 NonPrivatePointer
OpBranch %29
- %30 = OpLabel
+ %29 = OpLabel
+ %33 = OpIAdd %uint %32 %uint_1
+ OpBranch %30
+ %31 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%42 = OpFunctionCall %void %subgroupMatrixStore_dc92cf
OpReturn
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.spvasm
index aeb9778..9f6534d 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.spvasm
@@ -39,7 +39,7 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_2
- %15 = OpConstantNull %16
+ %15 = OpConstantComposite %16 %uint_0
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%uint_1 = OpConstant %uint 1
%subgroupMatrixStore_dce0b7 = OpFunction %void None %10
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.spvasm
index 71d949a..d02a6e3 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/eae7d8.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 25
+; Bound: 26
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -36,17 +36,18 @@
%uint_8 = OpConstant %uint 8
%uint_1 = OpConstant %uint 1
%15 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %14 = OpConstantNull %15
+ %int_0 = OpConstant %int 0
+ %14 = OpConstantComposite %15 %int_0
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%subgroupMatrixStore_eae7d8 = OpFunction %void None %8
%9 = OpLabel
%10 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_rw %uint_0
- %19 = OpAccessChain %_ptr_StorageBuffer_int %10 %uint_1
- OpCooperativeMatrixStoreKHR %19 %14 %uint_1 %uint_1 NonPrivatePointer
+ %20 = OpAccessChain %_ptr_StorageBuffer_int %10 %uint_1
+ OpCooperativeMatrixStoreKHR %20 %14 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %23 = OpLabel
- %24 = OpFunctionCall %void %subgroupMatrixStore_eae7d8
+ %24 = OpLabel
+ %25 = OpFunctionCall %void %subgroupMatrixStore_eae7d8
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.spvasm
index 4184905..54aa05f 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.spvasm
@@ -36,44 +36,44 @@
%uint_8 = OpConstant %uint 8
%uint_0 = OpConstant %uint 0
%14 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %13 = OpConstantNull %14
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %13 = OpConstantComposite %14 %half_0x0p_0
%_ptr_Workgroup_half = OpTypePointer Workgroup %half
%uint_1 = OpConstant %uint 1
- %24 = OpTypeFunction %void %uint
+ %25 = OpTypeFunction %void %uint
%bool = OpTypeBool
-%half_0x0p_0 = OpConstant %half 0x0p+0
%uint_2 = OpConstant %uint 2
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_ee1195 = OpFunction %void None %11
%12 = OpLabel
- %18 = OpAccessChain %_ptr_Workgroup_half %arg_0 %uint_1
- OpCooperativeMatrixStoreKHR %18 %13 %uint_1 %uint_1 NonPrivatePointer
+ %19 = OpAccessChain %_ptr_Workgroup_half %arg_0 %uint_1
+ OpCooperativeMatrixStoreKHR %19 %13 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %24
+%compute_main_inner = OpFunction %void None %25
%tint_local_index = OpFunctionParameter %uint
- %25 = OpLabel
- OpBranch %26
%26 = OpLabel
- OpBranch %29
- %29 = OpLabel
- %31 = OpPhi %uint %tint_local_index %26 %32 %28
- OpLoopMerge %30 %28 None
OpBranch %27
%27 = OpLabel
- %33 = OpUGreaterThanEqual %bool %31 %uint_64
- OpSelectionMerge %35 None
- OpBranchConditional %33 %36 %35
- %36 = OpLabel
OpBranch %30
- %35 = OpLabel
- %37 = OpAccessChain %_ptr_Workgroup_half %arg_0 %31
- OpStore %37 %half_0x0p_0 NonPrivatePointer
+ %30 = OpLabel
+ %32 = OpPhi %uint %tint_local_index %27 %33 %29
+ OpLoopMerge %31 %29 None
OpBranch %28
%28 = OpLabel
- %32 = OpIAdd %uint %31 %uint_1
+ %34 = OpUGreaterThanEqual %bool %32 %uint_64
+ OpSelectionMerge %36 None
+ OpBranchConditional %34 %37 %36
+ %37 = OpLabel
+ OpBranch %31
+ %36 = OpLabel
+ %38 = OpAccessChain %_ptr_Workgroup_half %arg_0 %32
+ OpStore %38 %half_0x0p_0 NonPrivatePointer
OpBranch %29
- %30 = OpLabel
+ %29 = OpLabel
+ %33 = OpIAdd %uint %32 %uint_1
+ OpBranch %30
+ %31 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%42 = OpFunctionCall %void %subgroupMatrixStore_ee1195
OpReturn
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.spvasm
index 37bda7f..d9aa4b9 100644
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.spvasm
@@ -33,43 +33,43 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%14 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_2
- %13 = OpConstantNull %14
+ %int_0 = OpConstant %int 0
+ %13 = OpConstantComposite %14 %int_0
%_ptr_Workgroup_int = OpTypePointer Workgroup %int
%uint_1 = OpConstant %uint 1
- %24 = OpTypeFunction %void %uint
+ %25 = OpTypeFunction %void %uint
%bool = OpTypeBool
- %int_0 = OpConstant %int 0
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_f04d67 = OpFunction %void None %11
%12 = OpLabel
- %18 = OpAccessChain %_ptr_Workgroup_int %arg_0 %uint_1
- OpCooperativeMatrixStoreKHR %18 %13 %uint_1 %uint_1 NonPrivatePointer
+ %19 = OpAccessChain %_ptr_Workgroup_int %arg_0 %uint_1
+ OpCooperativeMatrixStoreKHR %19 %13 %uint_1 %uint_1 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %24
+%compute_main_inner = OpFunction %void None %25
%tint_local_index = OpFunctionParameter %uint
- %25 = OpLabel
- OpBranch %26
%26 = OpLabel
- OpBranch %29
- %29 = OpLabel
- %31 = OpPhi %uint %tint_local_index %26 %32 %28
- OpLoopMerge %30 %28 None
OpBranch %27
%27 = OpLabel
- %33 = OpUGreaterThanEqual %bool %31 %uint_64
- OpSelectionMerge %35 None
- OpBranchConditional %33 %36 %35
- %36 = OpLabel
OpBranch %30
- %35 = OpLabel
- %37 = OpAccessChain %_ptr_Workgroup_int %arg_0 %31
- OpStore %37 %int_0 NonPrivatePointer
+ %30 = OpLabel
+ %32 = OpPhi %uint %tint_local_index %27 %33 %29
+ OpLoopMerge %31 %29 None
OpBranch %28
%28 = OpLabel
- %32 = OpIAdd %uint %31 %uint_1
+ %34 = OpUGreaterThanEqual %bool %32 %uint_64
+ OpSelectionMerge %36 None
+ OpBranchConditional %34 %37 %36
+ %37 = OpLabel
+ OpBranch %31
+ %36 = OpLabel
+ %38 = OpAccessChain %_ptr_Workgroup_int %arg_0 %32
+ OpStore %38 %int_0 NonPrivatePointer
OpBranch %29
- %30 = OpLabel
+ %29 = OpLabel
+ %33 = OpIAdd %uint %32 %uint_1
+ OpBranch %30
+ %31 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%41 = OpFunctionCall %void %subgroupMatrixStore_f04d67
OpReturn
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.spvasm
index a75ead5..068d2c1 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2969da.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 43
+; Bound: 44
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -38,38 +38,39 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %int_0 = OpConstant %int 0
+ %15 = OpConstantComposite %16 %int_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %21 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
-%_ptr_Function_21 = OpTypePointer Function %21
- %27 = OpConstantNull %9
+ %22 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
+ %21 = OpConstantComposite %22 %int_0
+%_ptr_Function_22 = OpTypePointer Function %22
+ %28 = OpConstantComposite %9 %int_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %34 = OpTypeFunction %void
+ %35 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_int_uint_1024 = OpTypePointer StorageBuffer %_arr_int_uint_1024
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_2969da = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_21 Function
+ %arg_1 = OpVariable %_ptr_Function_22 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %20
- %25 = OpLoad %16 %arg_0 None
- %26 = OpLoad %21 %arg_1 None
- %28 = OpCooperativeMatrixMulAddKHR %9 %25 %26 %27 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR|MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
- OpStore %res %28
- %31 = OpLoad %9 %res None
- OpReturnValue %31
+ OpStore %arg_1 %21
+ %26 = OpLoad %16 %arg_0 None
+ %27 = OpLoad %22 %arg_1 None
+ %29 = OpCooperativeMatrixMulAddKHR %9 %26 %27 %28 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR|MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
+ OpStore %res %29
+ %32 = OpLoad %9 %res None
+ OpReturnValue %32
OpFunctionEnd
-%compute_main = OpFunction %void None %34
- %35 = OpLabel
- %36 = OpFunctionCall %9 %subgroupMatrixMultiply_2969da
- %37 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
- %39 = OpAccessChain %_ptr_StorageBuffer_int %37 %uint_0
- OpCooperativeMatrixStoreKHR %39 %36 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %35
+ %36 = OpLabel
+ %37 = OpFunctionCall %9 %subgroupMatrixMultiply_2969da
+ %38 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
+ %40 = OpAccessChain %_ptr_StorageBuffer_int %38 %uint_0
+ OpCooperativeMatrixStoreKHR %40 %37 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.spvasm
index 62d2f16..40dbfbe 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/2c905b.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 43
+; Bound: 44
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -38,38 +38,39 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %float_0 = OpConstant %float 0
+ %15 = OpConstantComposite %16 %float_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %21 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
-%_ptr_Function_21 = OpTypePointer Function %21
- %27 = OpConstantNull %9
+ %22 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
+ %21 = OpConstantComposite %22 %float_0
+%_ptr_Function_22 = OpTypePointer Function %22
+ %28 = OpConstantComposite %9 %float_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %34 = OpTypeFunction %void
+ %35 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_float_uint_1024 = OpTypePointer StorageBuffer %_arr_float_uint_1024
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_2c905b = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_21 Function
+ %arg_1 = OpVariable %_ptr_Function_22 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %20
- %25 = OpLoad %16 %arg_0 None
- %26 = OpLoad %21 %arg_1 None
- %28 = OpCooperativeMatrixMulAddKHR %9 %25 %26 %27 NoneKHR
- OpStore %res %28
- %31 = OpLoad %9 %res None
- OpReturnValue %31
+ OpStore %arg_1 %21
+ %26 = OpLoad %16 %arg_0 None
+ %27 = OpLoad %22 %arg_1 None
+ %29 = OpCooperativeMatrixMulAddKHR %9 %26 %27 %28 NoneKHR
+ OpStore %res %29
+ %32 = OpLoad %9 %res None
+ OpReturnValue %32
OpFunctionEnd
-%compute_main = OpFunction %void None %34
- %35 = OpLabel
- %36 = OpFunctionCall %9 %subgroupMatrixMultiply_2c905b
- %37 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
- %39 = OpAccessChain %_ptr_StorageBuffer_float %37 %uint_0
- OpCooperativeMatrixStoreKHR %39 %36 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %35
+ %36 = OpLabel
+ %37 = OpFunctionCall %9 %subgroupMatrixMultiply_2c905b
+ %38 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
+ %40 = OpAccessChain %_ptr_StorageBuffer_float %38 %uint_0
+ OpCooperativeMatrixStoreKHR %40 %37 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.spvasm
index 8083762..ef4040b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/3e9b04.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 43
+; Bound: 44
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -38,38 +38,39 @@
%int = OpTypeInt 32 1
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+ %int_0 = OpConstant %int 0
+ %14 = OpConstantComposite %15 %int_0
%_ptr_Function_15 = OpTypePointer Function %15
%uint_1 = OpConstant %uint 1
- %21 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
-%_ptr_Function_21 = OpTypePointer Function %21
- %27 = OpConstantNull %8
+ %22 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
+ %21 = OpConstantComposite %22 %int_0
+%_ptr_Function_22 = OpTypePointer Function %22
+ %28 = OpConstantComposite %8 %uint_0
%_ptr_Function_8 = OpTypePointer Function %8
%void = OpTypeVoid
- %34 = OpTypeFunction %void
+ %35 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_uint_uint_1024 = OpTypePointer StorageBuffer %_arr_uint_uint_1024
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_3e9b04 = OpFunction %8 None %12
%13 = OpLabel
%arg_0 = OpVariable %_ptr_Function_15 Function
- %arg_1 = OpVariable %_ptr_Function_21 Function
+ %arg_1 = OpVariable %_ptr_Function_22 Function
%res = OpVariable %_ptr_Function_8 Function
OpStore %arg_0 %14
- OpStore %arg_1 %20
- %25 = OpLoad %15 %arg_0 None
- %26 = OpLoad %21 %arg_1 None
- %28 = OpCooperativeMatrixMulAddKHR %8 %25 %26 %27 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
- OpStore %res %28
- %31 = OpLoad %8 %res None
- OpReturnValue %31
+ OpStore %arg_1 %21
+ %26 = OpLoad %15 %arg_0 None
+ %27 = OpLoad %22 %arg_1 None
+ %29 = OpCooperativeMatrixMulAddKHR %8 %26 %27 %28 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
+ OpStore %res %29
+ %32 = OpLoad %8 %res None
+ OpReturnValue %32
OpFunctionEnd
-%compute_main = OpFunction %void None %34
- %35 = OpLabel
- %36 = OpFunctionCall %8 %subgroupMatrixMultiply_3e9b04
- %37 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
- %39 = OpAccessChain %_ptr_StorageBuffer_uint %37 %uint_0
- OpCooperativeMatrixStoreKHR %39 %36 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %35
+ %36 = OpLabel
+ %37 = OpFunctionCall %8 %subgroupMatrixMultiply_3e9b04
+ %38 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
+ %40 = OpAccessChain %_ptr_StorageBuffer_uint %38 %uint_0
+ OpCooperativeMatrixStoreKHR %40 %37 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.spvasm
index 0352914..2905805 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/42abed.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 43
+; Bound: 44
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -41,38 +41,39 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %15 = OpConstantComposite %16 %half_0x0p_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %21 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
-%_ptr_Function_21 = OpTypePointer Function %21
- %27 = OpConstantNull %9
+ %22 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
+ %21 = OpConstantComposite %22 %half_0x0p_0
+%_ptr_Function_22 = OpTypePointer Function %22
+ %28 = OpConstantComposite %9 %half_0x0p_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %34 = OpTypeFunction %void
+ %35 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_half_uint_1024 = OpTypePointer StorageBuffer %_arr_half_uint_1024
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_42abed = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_21 Function
+ %arg_1 = OpVariable %_ptr_Function_22 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %20
- %25 = OpLoad %16 %arg_0 None
- %26 = OpLoad %21 %arg_1 None
- %28 = OpCooperativeMatrixMulAddKHR %9 %25 %26 %27 NoneKHR
- OpStore %res %28
- %31 = OpLoad %9 %res None
- OpReturnValue %31
+ OpStore %arg_1 %21
+ %26 = OpLoad %16 %arg_0 None
+ %27 = OpLoad %22 %arg_1 None
+ %29 = OpCooperativeMatrixMulAddKHR %9 %26 %27 %28 NoneKHR
+ OpStore %res %29
+ %32 = OpLoad %9 %res None
+ OpReturnValue %32
OpFunctionEnd
-%compute_main = OpFunction %void None %34
- %35 = OpLabel
- %36 = OpFunctionCall %9 %subgroupMatrixMultiply_42abed
- %37 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
- %39 = OpAccessChain %_ptr_StorageBuffer_half %37 %uint_0
- OpCooperativeMatrixStoreKHR %39 %36 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %35
+ %36 = OpLabel
+ %37 = OpFunctionCall %9 %subgroupMatrixMultiply_42abed
+ %38 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
+ %40 = OpAccessChain %_ptr_StorageBuffer_half %38 %uint_0
+ OpCooperativeMatrixStoreKHR %40 %37 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.spvasm
index 081c112..4892e56 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/5677fc.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 44
+; Bound: 46
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -42,38 +42,40 @@
%half = OpTypeFloat 16
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %15 = OpConstantComposite %16 %half_0x0p_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %22 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %21 = OpConstantNull %22
-%_ptr_Function_22 = OpTypePointer Function %22
- %28 = OpConstantNull %9
+ %23 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
+ %22 = OpConstantComposite %23 %half_0x0p_0
+%_ptr_Function_23 = OpTypePointer Function %23
+ %float_0 = OpConstant %float 0
+ %29 = OpConstantComposite %9 %float_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %35 = OpTypeFunction %void
+ %37 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_float_uint_1024 = OpTypePointer StorageBuffer %_arr_float_uint_1024
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_5677fc = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_22 Function
+ %arg_1 = OpVariable %_ptr_Function_23 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %21
- %26 = OpLoad %16 %arg_0 None
- %27 = OpLoad %22 %arg_1 None
- %29 = OpCooperativeMatrixMulAddKHR %9 %26 %27 %28 NoneKHR
- OpStore %res %29
- %32 = OpLoad %9 %res None
- OpReturnValue %32
+ OpStore %arg_1 %22
+ %27 = OpLoad %16 %arg_0 None
+ %28 = OpLoad %23 %arg_1 None
+ %31 = OpCooperativeMatrixMulAddKHR %9 %27 %28 %29 NoneKHR
+ OpStore %res %31
+ %34 = OpLoad %9 %res None
+ OpReturnValue %34
OpFunctionEnd
-%compute_main = OpFunction %void None %35
- %36 = OpLabel
- %37 = OpFunctionCall %9 %subgroupMatrixMultiply_5677fc
- %38 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
- %40 = OpAccessChain %_ptr_StorageBuffer_float %38 %uint_0
- OpCooperativeMatrixStoreKHR %40 %37 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %37
+ %38 = OpLabel
+ %39 = OpFunctionCall %9 %subgroupMatrixMultiply_5677fc
+ %40 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
+ %42 = OpAccessChain %_ptr_StorageBuffer_float %40 %uint_0
+ OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.spvasm
index e9696d4..7401c044 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/704b4d.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 44
+; Bound: 46
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -42,38 +42,40 @@
%half = OpTypeFloat 16
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %15 = OpConstantComposite %16 %half_0x0p_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %22 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %21 = OpConstantNull %22
-%_ptr_Function_22 = OpTypePointer Function %22
- %28 = OpConstantNull %9
+ %23 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
+ %22 = OpConstantComposite %23 %half_0x0p_0
+%_ptr_Function_23 = OpTypePointer Function %23
+ %int_0 = OpConstant %int 0
+ %29 = OpConstantComposite %9 %int_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %35 = OpTypeFunction %void
+ %37 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_int_uint_1024 = OpTypePointer StorageBuffer %_arr_int_uint_1024
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_704b4d = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_22 Function
+ %arg_1 = OpVariable %_ptr_Function_23 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %21
- %26 = OpLoad %16 %arg_0 None
- %27 = OpLoad %22 %arg_1 None
- %29 = OpCooperativeMatrixMulAddKHR %9 %26 %27 %28 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
- OpStore %res %29
- %32 = OpLoad %9 %res None
- OpReturnValue %32
+ OpStore %arg_1 %22
+ %27 = OpLoad %16 %arg_0 None
+ %28 = OpLoad %23 %arg_1 None
+ %31 = OpCooperativeMatrixMulAddKHR %9 %27 %28 %29 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
+ OpStore %res %31
+ %34 = OpLoad %9 %res None
+ OpReturnValue %34
OpFunctionEnd
-%compute_main = OpFunction %void None %35
- %36 = OpLabel
- %37 = OpFunctionCall %9 %subgroupMatrixMultiply_704b4d
- %38 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
- %40 = OpAccessChain %_ptr_StorageBuffer_int %38 %uint_0
- OpCooperativeMatrixStoreKHR %40 %37 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %37
+ %38 = OpLabel
+ %39 = OpFunctionCall %9 %subgroupMatrixMultiply_704b4d
+ %40 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
+ %42 = OpAccessChain %_ptr_StorageBuffer_int %40 %uint_0
+ OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.spvasm
index 96a22ce..da24aa9 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8648ad.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 44
+; Bound: 46
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,38 +39,40 @@
%int = OpTypeInt 32 1
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %int_0 = OpConstant %int 0
+ %15 = OpConstantComposite %16 %int_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %22 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %21 = OpConstantNull %22
-%_ptr_Function_22 = OpTypePointer Function %22
- %28 = OpConstantNull %9
+ %23 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
+ %22 = OpConstantComposite %23 %int_0
+%_ptr_Function_23 = OpTypePointer Function %23
+ %float_0 = OpConstant %float 0
+ %29 = OpConstantComposite %9 %float_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %35 = OpTypeFunction %void
+ %37 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_float_uint_1024 = OpTypePointer StorageBuffer %_arr_float_uint_1024
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_8648ad = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_22 Function
+ %arg_1 = OpVariable %_ptr_Function_23 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %21
- %26 = OpLoad %16 %arg_0 None
- %27 = OpLoad %22 %arg_1 None
- %29 = OpCooperativeMatrixMulAddKHR %9 %26 %27 %28 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
- OpStore %res %29
- %32 = OpLoad %9 %res None
- OpReturnValue %32
+ OpStore %arg_1 %22
+ %27 = OpLoad %16 %arg_0 None
+ %28 = OpLoad %23 %arg_1 None
+ %31 = OpCooperativeMatrixMulAddKHR %9 %27 %28 %29 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
+ OpStore %res %31
+ %34 = OpLoad %9 %res None
+ OpReturnValue %34
OpFunctionEnd
-%compute_main = OpFunction %void None %35
- %36 = OpLabel
- %37 = OpFunctionCall %9 %subgroupMatrixMultiply_8648ad
- %38 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
- %40 = OpAccessChain %_ptr_StorageBuffer_float %38 %uint_0
- OpCooperativeMatrixStoreKHR %40 %37 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %37
+ %38 = OpLabel
+ %39 = OpFunctionCall %9 %subgroupMatrixMultiply_8648ad
+ %40 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
+ %42 = OpAccessChain %_ptr_StorageBuffer_float %40 %uint_0
+ OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.spvasm
index 5245eb0..791a4fa 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8744bd.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 44
+; Bound: 46
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -42,38 +42,40 @@
%float = OpTypeFloat 32
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %float_0 = OpConstant %float 0
+ %15 = OpConstantComposite %16 %float_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %22 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %21 = OpConstantNull %22
-%_ptr_Function_22 = OpTypePointer Function %22
- %28 = OpConstantNull %9
+ %23 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
+ %22 = OpConstantComposite %23 %float_0
+%_ptr_Function_23 = OpTypePointer Function %23
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %29 = OpConstantComposite %9 %half_0x0p_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %35 = OpTypeFunction %void
+ %37 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_half_uint_1024 = OpTypePointer StorageBuffer %_arr_half_uint_1024
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_8744bd = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_22 Function
+ %arg_1 = OpVariable %_ptr_Function_23 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %21
- %26 = OpLoad %16 %arg_0 None
- %27 = OpLoad %22 %arg_1 None
- %29 = OpCooperativeMatrixMulAddKHR %9 %26 %27 %28 NoneKHR
- OpStore %res %29
- %32 = OpLoad %9 %res None
- OpReturnValue %32
+ OpStore %arg_1 %22
+ %27 = OpLoad %16 %arg_0 None
+ %28 = OpLoad %23 %arg_1 None
+ %31 = OpCooperativeMatrixMulAddKHR %9 %27 %28 %29 NoneKHR
+ OpStore %res %31
+ %34 = OpLoad %9 %res None
+ OpReturnValue %34
OpFunctionEnd
-%compute_main = OpFunction %void None %35
- %36 = OpLabel
- %37 = OpFunctionCall %9 %subgroupMatrixMultiply_8744bd
- %38 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
- %40 = OpAccessChain %_ptr_StorageBuffer_half %38 %uint_0
- OpCooperativeMatrixStoreKHR %40 %37 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %37
+ %38 = OpLabel
+ %39 = OpFunctionCall %9 %subgroupMatrixMultiply_8744bd
+ %40 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
+ %42 = OpAccessChain %_ptr_StorageBuffer_half %40 %uint_0
+ OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.spvasm
index 8353e1b..7f32f3b 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/8c3aac.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 43
+; Bound: 44
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -38,38 +38,39 @@
%float = OpTypeFloat 32
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+ %float_0 = OpConstant %float 0
+ %14 = OpConstantComposite %15 %float_0
%_ptr_Function_15 = OpTypePointer Function %15
%uint_1 = OpConstant %uint 1
- %21 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
-%_ptr_Function_21 = OpTypePointer Function %21
- %27 = OpConstantNull %8
+ %22 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
+ %21 = OpConstantComposite %22 %float_0
+%_ptr_Function_22 = OpTypePointer Function %22
+ %28 = OpConstantComposite %8 %uint_0
%_ptr_Function_8 = OpTypePointer Function %8
%void = OpTypeVoid
- %34 = OpTypeFunction %void
+ %35 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_uint_uint_1024 = OpTypePointer StorageBuffer %_arr_uint_uint_1024
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_8c3aac = OpFunction %8 None %12
%13 = OpLabel
%arg_0 = OpVariable %_ptr_Function_15 Function
- %arg_1 = OpVariable %_ptr_Function_21 Function
+ %arg_1 = OpVariable %_ptr_Function_22 Function
%res = OpVariable %_ptr_Function_8 Function
OpStore %arg_0 %14
- OpStore %arg_1 %20
- %25 = OpLoad %15 %arg_0 None
- %26 = OpLoad %21 %arg_1 None
- %28 = OpCooperativeMatrixMulAddKHR %8 %25 %26 %27 NoneKHR
- OpStore %res %28
- %31 = OpLoad %8 %res None
- OpReturnValue %31
+ OpStore %arg_1 %21
+ %26 = OpLoad %15 %arg_0 None
+ %27 = OpLoad %22 %arg_1 None
+ %29 = OpCooperativeMatrixMulAddKHR %8 %26 %27 %28 NoneKHR
+ OpStore %res %29
+ %32 = OpLoad %8 %res None
+ OpReturnValue %32
OpFunctionEnd
-%compute_main = OpFunction %void None %34
- %35 = OpLabel
- %36 = OpFunctionCall %8 %subgroupMatrixMultiply_8c3aac
- %37 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
- %39 = OpAccessChain %_ptr_StorageBuffer_uint %37 %uint_0
- OpCooperativeMatrixStoreKHR %39 %36 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %35
+ %36 = OpLabel
+ %37 = OpFunctionCall %8 %subgroupMatrixMultiply_8c3aac
+ %38 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
+ %40 = OpAccessChain %_ptr_StorageBuffer_uint %38 %uint_0
+ OpCooperativeMatrixStoreKHR %40 %37 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.spvasm
index f345229..0311eec 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/957137.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 43
+; Bound: 44
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -41,38 +41,39 @@
%half = OpTypeFloat 16
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %14 = OpConstantComposite %15 %half_0x0p_0
%_ptr_Function_15 = OpTypePointer Function %15
%uint_1 = OpConstant %uint 1
- %21 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
-%_ptr_Function_21 = OpTypePointer Function %21
- %27 = OpConstantNull %8
+ %22 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
+ %21 = OpConstantComposite %22 %half_0x0p_0
+%_ptr_Function_22 = OpTypePointer Function %22
+ %28 = OpConstantComposite %8 %uint_0
%_ptr_Function_8 = OpTypePointer Function %8
%void = OpTypeVoid
- %34 = OpTypeFunction %void
+ %35 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_uint_uint_1024 = OpTypePointer StorageBuffer %_arr_uint_uint_1024
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_957137 = OpFunction %8 None %12
%13 = OpLabel
%arg_0 = OpVariable %_ptr_Function_15 Function
- %arg_1 = OpVariable %_ptr_Function_21 Function
+ %arg_1 = OpVariable %_ptr_Function_22 Function
%res = OpVariable %_ptr_Function_8 Function
OpStore %arg_0 %14
- OpStore %arg_1 %20
- %25 = OpLoad %15 %arg_0 None
- %26 = OpLoad %21 %arg_1 None
- %28 = OpCooperativeMatrixMulAddKHR %8 %25 %26 %27 NoneKHR
- OpStore %res %28
- %31 = OpLoad %8 %res None
- OpReturnValue %31
+ OpStore %arg_1 %21
+ %26 = OpLoad %15 %arg_0 None
+ %27 = OpLoad %22 %arg_1 None
+ %29 = OpCooperativeMatrixMulAddKHR %8 %26 %27 %28 NoneKHR
+ OpStore %res %29
+ %32 = OpLoad %8 %res None
+ OpReturnValue %32
OpFunctionEnd
-%compute_main = OpFunction %void None %34
- %35 = OpLabel
- %36 = OpFunctionCall %8 %subgroupMatrixMultiply_957137
- %37 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
- %39 = OpAccessChain %_ptr_StorageBuffer_uint %37 %uint_0
- OpCooperativeMatrixStoreKHR %39 %36 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %35
+ %36 = OpLabel
+ %37 = OpFunctionCall %8 %subgroupMatrixMultiply_957137
+ %38 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
+ %40 = OpAccessChain %_ptr_StorageBuffer_uint %38 %uint_0
+ OpCooperativeMatrixStoreKHR %40 %37 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.spvasm
index 4338c64..6fb2f0e 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/bf2e54.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 44
+; Bound: 46
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -42,38 +42,40 @@
%int = OpTypeInt 32 1
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %int_0 = OpConstant %int 0
+ %15 = OpConstantComposite %16 %int_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %22 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %21 = OpConstantNull %22
-%_ptr_Function_22 = OpTypePointer Function %22
- %28 = OpConstantNull %9
+ %23 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
+ %22 = OpConstantComposite %23 %int_0
+%_ptr_Function_23 = OpTypePointer Function %23
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %29 = OpConstantComposite %9 %half_0x0p_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %35 = OpTypeFunction %void
+ %37 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_half_uint_1024 = OpTypePointer StorageBuffer %_arr_half_uint_1024
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_bf2e54 = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_22 Function
+ %arg_1 = OpVariable %_ptr_Function_23 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %21
- %26 = OpLoad %16 %arg_0 None
- %27 = OpLoad %22 %arg_1 None
- %29 = OpCooperativeMatrixMulAddKHR %9 %26 %27 %28 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
- OpStore %res %29
- %32 = OpLoad %9 %res None
- OpReturnValue %32
+ OpStore %arg_1 %22
+ %27 = OpLoad %16 %arg_0 None
+ %28 = OpLoad %23 %arg_1 None
+ %31 = OpCooperativeMatrixMulAddKHR %9 %27 %28 %29 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
+ OpStore %res %31
+ %34 = OpLoad %9 %res None
+ OpReturnValue %34
OpFunctionEnd
-%compute_main = OpFunction %void None %35
- %36 = OpLabel
- %37 = OpFunctionCall %9 %subgroupMatrixMultiply_bf2e54
- %38 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
- %40 = OpAccessChain %_ptr_StorageBuffer_half %38 %uint_0
- OpCooperativeMatrixStoreKHR %40 %37 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %37
+ %38 = OpLabel
+ %39 = OpFunctionCall %9 %subgroupMatrixMultiply_bf2e54
+ %40 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
+ %42 = OpAccessChain %_ptr_StorageBuffer_half %40 %uint_0
+ OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.spvasm
index 520dd4f..3c76916 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/c26fb9.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 43
+; Bound: 44
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -38,16 +38,17 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %15 = OpConstantComposite %16 %uint_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
%21 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
+ %20 = OpConstantComposite %21 %uint_0
%_ptr_Function_21 = OpTypePointer Function %21
- %27 = OpConstantNull %9
+ %float_0 = OpConstant %float 0
+ %27 = OpConstantComposite %9 %float_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %34 = OpTypeFunction %void
+ %35 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_float_uint_1024 = OpTypePointer StorageBuffer %_arr_float_uint_1024
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_64 = OpConstant %uint 64
@@ -60,16 +61,16 @@
OpStore %arg_1 %20
%25 = OpLoad %16 %arg_0 None
%26 = OpLoad %21 %arg_1 None
- %28 = OpCooperativeMatrixMulAddKHR %9 %25 %26 %27 NoneKHR
- OpStore %res %28
- %31 = OpLoad %9 %res None
- OpReturnValue %31
+ %29 = OpCooperativeMatrixMulAddKHR %9 %25 %26 %27 NoneKHR
+ OpStore %res %29
+ %32 = OpLoad %9 %res None
+ OpReturnValue %32
OpFunctionEnd
-%compute_main = OpFunction %void None %34
- %35 = OpLabel
- %36 = OpFunctionCall %9 %subgroupMatrixMultiply_c26fb9
- %37 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
- %39 = OpAccessChain %_ptr_StorageBuffer_float %37 %uint_0
- OpCooperativeMatrixStoreKHR %39 %36 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %35
+ %36 = OpLabel
+ %37 = OpFunctionCall %9 %subgroupMatrixMultiply_c26fb9
+ %38 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
+ %40 = OpAccessChain %_ptr_StorageBuffer_float %38 %uint_0
+ OpCooperativeMatrixStoreKHR %40 %37 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.spvasm
index 1ca96e5..349e9f0 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/da556f.wgsl.expected.spvasm
@@ -37,13 +37,13 @@
%12 = OpTypeFunction %8
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+ %14 = OpConstantComposite %15 %uint_0
%_ptr_Function_15 = OpTypePointer Function %15
%uint_1 = OpConstant %uint 1
%20 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %19 = OpConstantNull %20
+ %19 = OpConstantComposite %20 %uint_0
%_ptr_Function_20 = OpTypePointer Function %20
- %26 = OpConstantNull %8
+ %26 = OpConstantComposite %8 %uint_0
%_ptr_Function_8 = OpTypePointer Function %8
%void = OpTypeVoid
%33 = OpTypeFunction %void
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.spvasm
index db2b131..12f7333 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/db4ee8.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 43
+; Bound: 44
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -41,16 +41,17 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %15 = OpConstantComposite %16 %uint_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
%21 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
+ %20 = OpConstantComposite %21 %uint_0
%_ptr_Function_21 = OpTypePointer Function %21
- %27 = OpConstantNull %9
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %27 = OpConstantComposite %9 %half_0x0p_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %34 = OpTypeFunction %void
+ %35 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_half_uint_1024 = OpTypePointer StorageBuffer %_arr_half_uint_1024
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_64 = OpConstant %uint 64
@@ -63,16 +64,16 @@
OpStore %arg_1 %20
%25 = OpLoad %16 %arg_0 None
%26 = OpLoad %21 %arg_1 None
- %28 = OpCooperativeMatrixMulAddKHR %9 %25 %26 %27 NoneKHR
- OpStore %res %28
- %31 = OpLoad %9 %res None
- OpReturnValue %31
+ %29 = OpCooperativeMatrixMulAddKHR %9 %25 %26 %27 NoneKHR
+ OpStore %res %29
+ %32 = OpLoad %9 %res None
+ OpReturnValue %32
OpFunctionEnd
-%compute_main = OpFunction %void None %34
- %35 = OpLabel
- %36 = OpFunctionCall %9 %subgroupMatrixMultiply_db4ee8
- %37 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
- %39 = OpAccessChain %_ptr_StorageBuffer_half %37 %uint_0
- OpCooperativeMatrixStoreKHR %39 %36 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %35
+ %36 = OpLabel
+ %37 = OpFunctionCall %9 %subgroupMatrixMultiply_db4ee8
+ %38 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
+ %40 = OpAccessChain %_ptr_StorageBuffer_half %38 %uint_0
+ OpCooperativeMatrixStoreKHR %40 %37 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.spvasm
index 22e910a..2c8a94c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/f51206.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 43
+; Bound: 44
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -38,16 +38,17 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %15 = OpConstantComposite %16 %uint_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
%21 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
+ %20 = OpConstantComposite %21 %uint_0
%_ptr_Function_21 = OpTypePointer Function %21
- %27 = OpConstantNull %9
+ %int_0 = OpConstant %int 0
+ %27 = OpConstantComposite %9 %int_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %34 = OpTypeFunction %void
+ %35 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_int_uint_1024 = OpTypePointer StorageBuffer %_arr_int_uint_1024
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_64 = OpConstant %uint 64
@@ -60,16 +61,16 @@
OpStore %arg_1 %20
%25 = OpLoad %16 %arg_0 None
%26 = OpLoad %21 %arg_1 None
- %28 = OpCooperativeMatrixMulAddKHR %9 %25 %26 %27 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
- OpStore %res %28
- %31 = OpLoad %9 %res None
- OpReturnValue %31
+ %29 = OpCooperativeMatrixMulAddKHR %9 %25 %26 %27 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
+ OpStore %res %29
+ %32 = OpLoad %9 %res None
+ OpReturnValue %32
OpFunctionEnd
-%compute_main = OpFunction %void None %34
- %35 = OpLabel
- %36 = OpFunctionCall %9 %subgroupMatrixMultiply_f51206
- %37 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
- %39 = OpAccessChain %_ptr_StorageBuffer_int %37 %uint_0
- OpCooperativeMatrixStoreKHR %39 %36 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %35
+ %36 = OpLabel
+ %37 = OpFunctionCall %9 %subgroupMatrixMultiply_f51206
+ %38 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
+ %40 = OpAccessChain %_ptr_StorageBuffer_int %38 %uint_0
+ OpCooperativeMatrixStoreKHR %40 %37 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.spvasm
index f0d4679..9548037 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiply/fa5318.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 44
+; Bound: 46
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,38 +39,40 @@
%float = OpTypeFloat 32
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %float_0 = OpConstant %float 0
+ %15 = OpConstantComposite %16 %float_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %22 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %21 = OpConstantNull %22
-%_ptr_Function_22 = OpTypePointer Function %22
- %28 = OpConstantNull %9
+ %23 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
+ %22 = OpConstantComposite %23 %float_0
+%_ptr_Function_23 = OpTypePointer Function %23
+ %int_0 = OpConstant %int 0
+ %29 = OpConstantComposite %9 %int_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %35 = OpTypeFunction %void
+ %37 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_int_uint_1024 = OpTypePointer StorageBuffer %_arr_int_uint_1024
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiply_fa5318 = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_22 Function
+ %arg_1 = OpVariable %_ptr_Function_23 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %21
- %26 = OpLoad %16 %arg_0 None
- %27 = OpLoad %22 %arg_1 None
- %29 = OpCooperativeMatrixMulAddKHR %9 %26 %27 %28 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
- OpStore %res %29
- %32 = OpLoad %9 %res None
- OpReturnValue %32
+ OpStore %arg_1 %22
+ %27 = OpLoad %16 %arg_0 None
+ %28 = OpLoad %23 %arg_1 None
+ %31 = OpCooperativeMatrixMulAddKHR %9 %27 %28 %29 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
+ OpStore %res %31
+ %34 = OpLoad %9 %res None
+ OpReturnValue %34
OpFunctionEnd
-%compute_main = OpFunction %void None %35
- %36 = OpLabel
- %37 = OpFunctionCall %9 %subgroupMatrixMultiply_fa5318
- %38 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
- %40 = OpAccessChain %_ptr_StorageBuffer_int %38 %uint_0
- OpCooperativeMatrixStoreKHR %40 %37 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %37
+ %38 = OpLabel
+ %39 = OpFunctionCall %9 %subgroupMatrixMultiply_fa5318
+ %40 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
+ %42 = OpAccessChain %_ptr_StorageBuffer_int %40 %uint_0
+ OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.spvasm
index 472f1eb..4bd1220 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/071472.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 46
+; Bound: 48
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -43,41 +43,43 @@
%half = OpTypeFloat 16
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %15 = OpConstantComposite %16 %half_0x0p_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %22 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %21 = OpConstantNull %22
-%_ptr_Function_22 = OpTypePointer Function %22
- %26 = OpConstantNull %9
+ %23 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
+ %22 = OpConstantComposite %23 %half_0x0p_0
+%_ptr_Function_23 = OpTypePointer Function %23
+ %float_0 = OpConstant %float 0
+ %27 = OpConstantComposite %9 %float_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %37 = OpTypeFunction %void
+ %39 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_float_uint_1024 = OpTypePointer StorageBuffer %_arr_float_uint_1024
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_071472 = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_22 Function
+ %arg_1 = OpVariable %_ptr_Function_23 Function
%arg_2 = OpVariable %_ptr_Function_9 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %21
- OpStore %arg_2 %26
- %29 = OpLoad %16 %arg_0 None
- %30 = OpLoad %22 %arg_1 None
- %31 = OpLoad %9 %arg_2 None
- %32 = OpCooperativeMatrixMulAddKHR %9 %29 %30 %31 NoneKHR
- OpStore %res %32
- %34 = OpLoad %9 %res None
- OpReturnValue %34
+ OpStore %arg_1 %22
+ OpStore %arg_2 %27
+ %31 = OpLoad %16 %arg_0 None
+ %32 = OpLoad %23 %arg_1 None
+ %33 = OpLoad %9 %arg_2 None
+ %34 = OpCooperativeMatrixMulAddKHR %9 %31 %32 %33 NoneKHR
+ OpStore %res %34
+ %36 = OpLoad %9 %res None
+ OpReturnValue %36
OpFunctionEnd
-%compute_main = OpFunction %void None %37
- %38 = OpLabel
- %39 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_071472
- %40 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
- %42 = OpAccessChain %_ptr_StorageBuffer_float %40 %uint_0
- OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %39
+ %40 = OpLabel
+ %41 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_071472
+ %42 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
+ %44 = OpAccessChain %_ptr_StorageBuffer_float %42 %uint_0
+ OpCooperativeMatrixStoreKHR %44 %41 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.spvasm
index 2ff1e1c..913cec2 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/075302.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 45
+; Bound: 46
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -42,16 +42,17 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %15 = OpConstantComposite %16 %uint_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
%21 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
+ %20 = OpConstantComposite %21 %uint_0
%_ptr_Function_21 = OpTypePointer Function %21
- %25 = OpConstantNull %9
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %25 = OpConstantComposite %9 %half_0x0p_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %36 = OpTypeFunction %void
+ %37 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_half_uint_1024 = OpTypePointer StorageBuffer %_arr_half_uint_1024
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_64 = OpConstant %uint 64
@@ -64,19 +65,19 @@
OpStore %arg_0 %15
OpStore %arg_1 %20
OpStore %arg_2 %25
- %28 = OpLoad %16 %arg_0 None
- %29 = OpLoad %21 %arg_1 None
- %30 = OpLoad %9 %arg_2 None
- %31 = OpCooperativeMatrixMulAddKHR %9 %28 %29 %30 NoneKHR
- OpStore %res %31
- %33 = OpLoad %9 %res None
- OpReturnValue %33
+ %29 = OpLoad %16 %arg_0 None
+ %30 = OpLoad %21 %arg_1 None
+ %31 = OpLoad %9 %arg_2 None
+ %32 = OpCooperativeMatrixMulAddKHR %9 %29 %30 %31 NoneKHR
+ OpStore %res %32
+ %34 = OpLoad %9 %res None
+ OpReturnValue %34
OpFunctionEnd
-%compute_main = OpFunction %void None %36
- %37 = OpLabel
- %38 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_075302
- %39 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
- %41 = OpAccessChain %_ptr_StorageBuffer_half %39 %uint_0
- OpCooperativeMatrixStoreKHR %41 %38 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %37
+ %38 = OpLabel
+ %39 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_075302
+ %40 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
+ %42 = OpAccessChain %_ptr_StorageBuffer_half %40 %uint_0
+ OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.spvasm
index 084ef15..87708e4 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/12354d.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 45
+; Bound: 46
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -42,41 +42,42 @@
%half = OpTypeFloat 16
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %14 = OpConstantComposite %15 %half_0x0p_0
%_ptr_Function_15 = OpTypePointer Function %15
%uint_1 = OpConstant %uint 1
- %21 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
-%_ptr_Function_21 = OpTypePointer Function %21
- %25 = OpConstantNull %8
+ %22 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
+ %21 = OpConstantComposite %22 %half_0x0p_0
+%_ptr_Function_22 = OpTypePointer Function %22
+ %26 = OpConstantComposite %8 %uint_0
%_ptr_Function_8 = OpTypePointer Function %8
%void = OpTypeVoid
- %36 = OpTypeFunction %void
+ %37 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_uint_uint_1024 = OpTypePointer StorageBuffer %_arr_uint_uint_1024
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_12354d = OpFunction %8 None %12
%13 = OpLabel
%arg_0 = OpVariable %_ptr_Function_15 Function
- %arg_1 = OpVariable %_ptr_Function_21 Function
+ %arg_1 = OpVariable %_ptr_Function_22 Function
%arg_2 = OpVariable %_ptr_Function_8 Function
%res = OpVariable %_ptr_Function_8 Function
OpStore %arg_0 %14
- OpStore %arg_1 %20
- OpStore %arg_2 %25
- %28 = OpLoad %15 %arg_0 None
- %29 = OpLoad %21 %arg_1 None
- %30 = OpLoad %8 %arg_2 None
- %31 = OpCooperativeMatrixMulAddKHR %8 %28 %29 %30 NoneKHR
- OpStore %res %31
- %33 = OpLoad %8 %res None
- OpReturnValue %33
+ OpStore %arg_1 %21
+ OpStore %arg_2 %26
+ %29 = OpLoad %15 %arg_0 None
+ %30 = OpLoad %22 %arg_1 None
+ %31 = OpLoad %8 %arg_2 None
+ %32 = OpCooperativeMatrixMulAddKHR %8 %29 %30 %31 NoneKHR
+ OpStore %res %32
+ %34 = OpLoad %8 %res None
+ OpReturnValue %34
OpFunctionEnd
-%compute_main = OpFunction %void None %36
- %37 = OpLabel
- %38 = OpFunctionCall %8 %subgroupMatrixMultiplyAccumulate_12354d
- %39 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
- %41 = OpAccessChain %_ptr_StorageBuffer_uint %39 %uint_0
- OpCooperativeMatrixStoreKHR %41 %38 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %37
+ %38 = OpLabel
+ %39 = OpFunctionCall %8 %subgroupMatrixMultiplyAccumulate_12354d
+ %40 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
+ %42 = OpAccessChain %_ptr_StorageBuffer_uint %40 %uint_0
+ OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.spvasm
index 8423893..9ed94c6 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/163ab5.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 46
+; Bound: 48
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -40,41 +40,43 @@
%int = OpTypeInt 32 1
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %int_0 = OpConstant %int 0
+ %15 = OpConstantComposite %16 %int_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %22 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %21 = OpConstantNull %22
-%_ptr_Function_22 = OpTypePointer Function %22
- %26 = OpConstantNull %9
+ %23 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
+ %22 = OpConstantComposite %23 %int_0
+%_ptr_Function_23 = OpTypePointer Function %23
+ %float_0 = OpConstant %float 0
+ %27 = OpConstantComposite %9 %float_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %37 = OpTypeFunction %void
+ %39 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_float_uint_1024 = OpTypePointer StorageBuffer %_arr_float_uint_1024
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_163ab5 = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_22 Function
+ %arg_1 = OpVariable %_ptr_Function_23 Function
%arg_2 = OpVariable %_ptr_Function_9 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %21
- OpStore %arg_2 %26
- %29 = OpLoad %16 %arg_0 None
- %30 = OpLoad %22 %arg_1 None
- %31 = OpLoad %9 %arg_2 None
- %32 = OpCooperativeMatrixMulAddKHR %9 %29 %30 %31 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
- OpStore %res %32
- %34 = OpLoad %9 %res None
- OpReturnValue %34
+ OpStore %arg_1 %22
+ OpStore %arg_2 %27
+ %31 = OpLoad %16 %arg_0 None
+ %32 = OpLoad %23 %arg_1 None
+ %33 = OpLoad %9 %arg_2 None
+ %34 = OpCooperativeMatrixMulAddKHR %9 %31 %32 %33 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
+ OpStore %res %34
+ %36 = OpLoad %9 %res None
+ OpReturnValue %36
OpFunctionEnd
-%compute_main = OpFunction %void None %37
- %38 = OpLabel
- %39 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_163ab5
- %40 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
- %42 = OpAccessChain %_ptr_StorageBuffer_float %40 %uint_0
- OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %39
+ %40 = OpLabel
+ %41 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_163ab5
+ %42 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
+ %44 = OpAccessChain %_ptr_StorageBuffer_float %42 %uint_0
+ OpCooperativeMatrixStoreKHR %44 %41 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.spvasm
index 92c6b428..08d094e 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/3ea7db.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 46
+; Bound: 48
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -43,41 +43,43 @@
%half = OpTypeFloat 16
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %15 = OpConstantComposite %16 %half_0x0p_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %22 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %21 = OpConstantNull %22
-%_ptr_Function_22 = OpTypePointer Function %22
- %26 = OpConstantNull %9
+ %23 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
+ %22 = OpConstantComposite %23 %half_0x0p_0
+%_ptr_Function_23 = OpTypePointer Function %23
+ %int_0 = OpConstant %int 0
+ %27 = OpConstantComposite %9 %int_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %37 = OpTypeFunction %void
+ %39 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_int_uint_1024 = OpTypePointer StorageBuffer %_arr_int_uint_1024
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_3ea7db = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_22 Function
+ %arg_1 = OpVariable %_ptr_Function_23 Function
%arg_2 = OpVariable %_ptr_Function_9 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %21
- OpStore %arg_2 %26
- %29 = OpLoad %16 %arg_0 None
- %30 = OpLoad %22 %arg_1 None
- %31 = OpLoad %9 %arg_2 None
- %32 = OpCooperativeMatrixMulAddKHR %9 %29 %30 %31 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
- OpStore %res %32
- %34 = OpLoad %9 %res None
- OpReturnValue %34
+ OpStore %arg_1 %22
+ OpStore %arg_2 %27
+ %31 = OpLoad %16 %arg_0 None
+ %32 = OpLoad %23 %arg_1 None
+ %33 = OpLoad %9 %arg_2 None
+ %34 = OpCooperativeMatrixMulAddKHR %9 %31 %32 %33 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
+ OpStore %res %34
+ %36 = OpLoad %9 %res None
+ OpReturnValue %36
OpFunctionEnd
-%compute_main = OpFunction %void None %37
- %38 = OpLabel
- %39 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_3ea7db
- %40 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
- %42 = OpAccessChain %_ptr_StorageBuffer_int %40 %uint_0
- OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %39
+ %40 = OpLabel
+ %41 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_3ea7db
+ %42 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
+ %44 = OpAccessChain %_ptr_StorageBuffer_int %42 %uint_0
+ OpCooperativeMatrixStoreKHR %44 %41 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.spvasm
index 525a1f6..ee17948 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/676ca8.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 45
+; Bound: 46
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,16 +39,17 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %15 = OpConstantComposite %16 %uint_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
%21 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
+ %20 = OpConstantComposite %21 %uint_0
%_ptr_Function_21 = OpTypePointer Function %21
- %25 = OpConstantNull %9
+ %int_0 = OpConstant %int 0
+ %25 = OpConstantComposite %9 %int_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %36 = OpTypeFunction %void
+ %37 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_int_uint_1024 = OpTypePointer StorageBuffer %_arr_int_uint_1024
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_64 = OpConstant %uint 64
@@ -61,19 +62,19 @@
OpStore %arg_0 %15
OpStore %arg_1 %20
OpStore %arg_2 %25
- %28 = OpLoad %16 %arg_0 None
- %29 = OpLoad %21 %arg_1 None
- %30 = OpLoad %9 %arg_2 None
- %31 = OpCooperativeMatrixMulAddKHR %9 %28 %29 %30 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
- OpStore %res %31
- %33 = OpLoad %9 %res None
- OpReturnValue %33
+ %29 = OpLoad %16 %arg_0 None
+ %30 = OpLoad %21 %arg_1 None
+ %31 = OpLoad %9 %arg_2 None
+ %32 = OpCooperativeMatrixMulAddKHR %9 %29 %30 %31 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
+ OpStore %res %32
+ %34 = OpLoad %9 %res None
+ OpReturnValue %34
OpFunctionEnd
-%compute_main = OpFunction %void None %36
- %37 = OpLabel
- %38 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_676ca8
- %39 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
- %41 = OpAccessChain %_ptr_StorageBuffer_int %39 %uint_0
- OpCooperativeMatrixStoreKHR %41 %38 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %37
+ %38 = OpLabel
+ %39 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_676ca8
+ %40 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
+ %42 = OpAccessChain %_ptr_StorageBuffer_int %40 %uint_0
+ OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.spvasm
index 0484af6..4952c5a 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/709578.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 45
+; Bound: 46
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,41 +39,42 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %int_0 = OpConstant %int 0
+ %15 = OpConstantComposite %16 %int_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %21 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
-%_ptr_Function_21 = OpTypePointer Function %21
- %25 = OpConstantNull %9
+ %22 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
+ %21 = OpConstantComposite %22 %int_0
+%_ptr_Function_22 = OpTypePointer Function %22
+ %26 = OpConstantComposite %9 %int_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %36 = OpTypeFunction %void
+ %37 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_int_uint_1024 = OpTypePointer StorageBuffer %_arr_int_uint_1024
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_709578 = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_21 Function
+ %arg_1 = OpVariable %_ptr_Function_22 Function
%arg_2 = OpVariable %_ptr_Function_9 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %20
- OpStore %arg_2 %25
- %28 = OpLoad %16 %arg_0 None
- %29 = OpLoad %21 %arg_1 None
- %30 = OpLoad %9 %arg_2 None
- %31 = OpCooperativeMatrixMulAddKHR %9 %28 %29 %30 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR|MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
- OpStore %res %31
- %33 = OpLoad %9 %res None
- OpReturnValue %33
+ OpStore %arg_1 %21
+ OpStore %arg_2 %26
+ %29 = OpLoad %16 %arg_0 None
+ %30 = OpLoad %22 %arg_1 None
+ %31 = OpLoad %9 %arg_2 None
+ %32 = OpCooperativeMatrixMulAddKHR %9 %29 %30 %31 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR|MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
+ OpStore %res %32
+ %34 = OpLoad %9 %res None
+ OpReturnValue %34
OpFunctionEnd
-%compute_main = OpFunction %void None %36
- %37 = OpLabel
- %38 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_709578
- %39 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
- %41 = OpAccessChain %_ptr_StorageBuffer_int %39 %uint_0
- OpCooperativeMatrixStoreKHR %41 %38 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %37
+ %38 = OpLabel
+ %39 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_709578
+ %40 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
+ %42 = OpAccessChain %_ptr_StorageBuffer_int %40 %uint_0
+ OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.spvasm
index 8b4c848..638211f 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/7ceae2.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 46
+; Bound: 48
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -43,41 +43,43 @@
%int = OpTypeInt 32 1
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %int_0 = OpConstant %int 0
+ %15 = OpConstantComposite %16 %int_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %22 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %21 = OpConstantNull %22
-%_ptr_Function_22 = OpTypePointer Function %22
- %26 = OpConstantNull %9
+ %23 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
+ %22 = OpConstantComposite %23 %int_0
+%_ptr_Function_23 = OpTypePointer Function %23
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %27 = OpConstantComposite %9 %half_0x0p_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %37 = OpTypeFunction %void
+ %39 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_half_uint_1024 = OpTypePointer StorageBuffer %_arr_half_uint_1024
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_7ceae2 = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_22 Function
+ %arg_1 = OpVariable %_ptr_Function_23 Function
%arg_2 = OpVariable %_ptr_Function_9 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %21
- OpStore %arg_2 %26
- %29 = OpLoad %16 %arg_0 None
- %30 = OpLoad %22 %arg_1 None
- %31 = OpLoad %9 %arg_2 None
- %32 = OpCooperativeMatrixMulAddKHR %9 %29 %30 %31 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
- OpStore %res %32
- %34 = OpLoad %9 %res None
- OpReturnValue %34
+ OpStore %arg_1 %22
+ OpStore %arg_2 %27
+ %31 = OpLoad %16 %arg_0 None
+ %32 = OpLoad %23 %arg_1 None
+ %33 = OpLoad %9 %arg_2 None
+ %34 = OpCooperativeMatrixMulAddKHR %9 %31 %32 %33 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
+ OpStore %res %34
+ %36 = OpLoad %9 %res None
+ OpReturnValue %36
OpFunctionEnd
-%compute_main = OpFunction %void None %37
- %38 = OpLabel
- %39 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_7ceae2
- %40 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
- %42 = OpAccessChain %_ptr_StorageBuffer_half %40 %uint_0
- OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %39
+ %40 = OpLabel
+ %41 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_7ceae2
+ %42 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
+ %44 = OpAccessChain %_ptr_StorageBuffer_half %42 %uint_0
+ OpCooperativeMatrixStoreKHR %44 %41 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.spvasm
index dedc7ed1..ea34e6e 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/877989.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 45
+; Bound: 46
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,41 +39,42 @@
%int = OpTypeInt 32 1
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+ %int_0 = OpConstant %int 0
+ %14 = OpConstantComposite %15 %int_0
%_ptr_Function_15 = OpTypePointer Function %15
%uint_1 = OpConstant %uint 1
- %21 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
-%_ptr_Function_21 = OpTypePointer Function %21
- %25 = OpConstantNull %8
+ %22 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
+ %21 = OpConstantComposite %22 %int_0
+%_ptr_Function_22 = OpTypePointer Function %22
+ %26 = OpConstantComposite %8 %uint_0
%_ptr_Function_8 = OpTypePointer Function %8
%void = OpTypeVoid
- %36 = OpTypeFunction %void
+ %37 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_uint_uint_1024 = OpTypePointer StorageBuffer %_arr_uint_uint_1024
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_877989 = OpFunction %8 None %12
%13 = OpLabel
%arg_0 = OpVariable %_ptr_Function_15 Function
- %arg_1 = OpVariable %_ptr_Function_21 Function
+ %arg_1 = OpVariable %_ptr_Function_22 Function
%arg_2 = OpVariable %_ptr_Function_8 Function
%res = OpVariable %_ptr_Function_8 Function
OpStore %arg_0 %14
- OpStore %arg_1 %20
- OpStore %arg_2 %25
- %28 = OpLoad %15 %arg_0 None
- %29 = OpLoad %21 %arg_1 None
- %30 = OpLoad %8 %arg_2 None
- %31 = OpCooperativeMatrixMulAddKHR %8 %28 %29 %30 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
- OpStore %res %31
- %33 = OpLoad %8 %res None
- OpReturnValue %33
+ OpStore %arg_1 %21
+ OpStore %arg_2 %26
+ %29 = OpLoad %15 %arg_0 None
+ %30 = OpLoad %22 %arg_1 None
+ %31 = OpLoad %8 %arg_2 None
+ %32 = OpCooperativeMatrixMulAddKHR %8 %29 %30 %31 MatrixASignedComponentsKHR|MatrixBSignedComponentsKHR
+ OpStore %res %32
+ %34 = OpLoad %8 %res None
+ OpReturnValue %34
OpFunctionEnd
-%compute_main = OpFunction %void None %36
- %37 = OpLabel
- %38 = OpFunctionCall %8 %subgroupMatrixMultiplyAccumulate_877989
- %39 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
- %41 = OpAccessChain %_ptr_StorageBuffer_uint %39 %uint_0
- OpCooperativeMatrixStoreKHR %41 %38 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %37
+ %38 = OpLabel
+ %39 = OpFunctionCall %8 %subgroupMatrixMultiplyAccumulate_877989
+ %40 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
+ %42 = OpAccessChain %_ptr_StorageBuffer_uint %40 %uint_0
+ OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.spvasm
index 2148625..0646fd5 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/8b907c.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 45
+; Bound: 46
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -42,41 +42,42 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %15 = OpConstantComposite %16 %half_0x0p_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %21 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
-%_ptr_Function_21 = OpTypePointer Function %21
- %25 = OpConstantNull %9
+ %22 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
+ %21 = OpConstantComposite %22 %half_0x0p_0
+%_ptr_Function_22 = OpTypePointer Function %22
+ %26 = OpConstantComposite %9 %half_0x0p_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %36 = OpTypeFunction %void
+ %37 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_half_uint_1024 = OpTypePointer StorageBuffer %_arr_half_uint_1024
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_8b907c = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_21 Function
+ %arg_1 = OpVariable %_ptr_Function_22 Function
%arg_2 = OpVariable %_ptr_Function_9 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %20
- OpStore %arg_2 %25
- %28 = OpLoad %16 %arg_0 None
- %29 = OpLoad %21 %arg_1 None
- %30 = OpLoad %9 %arg_2 None
- %31 = OpCooperativeMatrixMulAddKHR %9 %28 %29 %30 NoneKHR
- OpStore %res %31
- %33 = OpLoad %9 %res None
- OpReturnValue %33
+ OpStore %arg_1 %21
+ OpStore %arg_2 %26
+ %29 = OpLoad %16 %arg_0 None
+ %30 = OpLoad %22 %arg_1 None
+ %31 = OpLoad %9 %arg_2 None
+ %32 = OpCooperativeMatrixMulAddKHR %9 %29 %30 %31 NoneKHR
+ OpStore %res %32
+ %34 = OpLoad %9 %res None
+ OpReturnValue %34
OpFunctionEnd
-%compute_main = OpFunction %void None %36
- %37 = OpLabel
- %38 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_8b907c
- %39 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
- %41 = OpAccessChain %_ptr_StorageBuffer_half %39 %uint_0
- OpCooperativeMatrixStoreKHR %41 %38 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %37
+ %38 = OpLabel
+ %39 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_8b907c
+ %40 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
+ %42 = OpAccessChain %_ptr_StorageBuffer_half %40 %uint_0
+ OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.spvasm
index 91b1939..7cfe5c3 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/9ad4f5.wgsl.expected.spvasm
@@ -38,13 +38,13 @@
%12 = OpTypeFunction %8
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+ %14 = OpConstantComposite %15 %uint_0
%_ptr_Function_15 = OpTypePointer Function %15
%uint_1 = OpConstant %uint 1
%20 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %19 = OpConstantNull %20
+ %19 = OpConstantComposite %20 %uint_0
%_ptr_Function_20 = OpTypePointer Function %20
- %24 = OpConstantNull %8
+ %24 = OpConstantComposite %8 %uint_0
%_ptr_Function_8 = OpTypePointer Function %8
%void = OpTypeVoid
%35 = OpTypeFunction %void
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.spvasm
index 1f925ac..0f7e453 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/c4062a.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 46
+; Bound: 48
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -43,41 +43,43 @@
%float = OpTypeFloat 32
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %float_0 = OpConstant %float 0
+ %15 = OpConstantComposite %16 %float_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %22 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %21 = OpConstantNull %22
-%_ptr_Function_22 = OpTypePointer Function %22
- %26 = OpConstantNull %9
+ %23 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
+ %22 = OpConstantComposite %23 %float_0
+%_ptr_Function_23 = OpTypePointer Function %23
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %27 = OpConstantComposite %9 %half_0x0p_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %37 = OpTypeFunction %void
+ %39 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_half_uint_1024 = OpTypePointer StorageBuffer %_arr_half_uint_1024
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_c4062a = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_22 Function
+ %arg_1 = OpVariable %_ptr_Function_23 Function
%arg_2 = OpVariable %_ptr_Function_9 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %21
- OpStore %arg_2 %26
- %29 = OpLoad %16 %arg_0 None
- %30 = OpLoad %22 %arg_1 None
- %31 = OpLoad %9 %arg_2 None
- %32 = OpCooperativeMatrixMulAddKHR %9 %29 %30 %31 NoneKHR
- OpStore %res %32
- %34 = OpLoad %9 %res None
- OpReturnValue %34
+ OpStore %arg_1 %22
+ OpStore %arg_2 %27
+ %31 = OpLoad %16 %arg_0 None
+ %32 = OpLoad %23 %arg_1 None
+ %33 = OpLoad %9 %arg_2 None
+ %34 = OpCooperativeMatrixMulAddKHR %9 %31 %32 %33 NoneKHR
+ OpStore %res %34
+ %36 = OpLoad %9 %res None
+ OpReturnValue %36
OpFunctionEnd
-%compute_main = OpFunction %void None %37
- %38 = OpLabel
- %39 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_c4062a
- %40 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
- %42 = OpAccessChain %_ptr_StorageBuffer_half %40 %uint_0
- OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %39
+ %40 = OpLabel
+ %41 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_c4062a
+ %42 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
+ %44 = OpAccessChain %_ptr_StorageBuffer_half %42 %uint_0
+ OpCooperativeMatrixStoreKHR %44 %41 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.spvasm
index 73b7867..d82a388 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/db91bf.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 45
+; Bound: 46
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,41 +39,42 @@
%float = OpTypeFloat 32
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+ %float_0 = OpConstant %float 0
+ %14 = OpConstantComposite %15 %float_0
%_ptr_Function_15 = OpTypePointer Function %15
%uint_1 = OpConstant %uint 1
- %21 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
-%_ptr_Function_21 = OpTypePointer Function %21
- %25 = OpConstantNull %8
+ %22 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
+ %21 = OpConstantComposite %22 %float_0
+%_ptr_Function_22 = OpTypePointer Function %22
+ %26 = OpConstantComposite %8 %uint_0
%_ptr_Function_8 = OpTypePointer Function %8
%void = OpTypeVoid
- %36 = OpTypeFunction %void
+ %37 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_uint_uint_1024 = OpTypePointer StorageBuffer %_arr_uint_uint_1024
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_db91bf = OpFunction %8 None %12
%13 = OpLabel
%arg_0 = OpVariable %_ptr_Function_15 Function
- %arg_1 = OpVariable %_ptr_Function_21 Function
+ %arg_1 = OpVariable %_ptr_Function_22 Function
%arg_2 = OpVariable %_ptr_Function_8 Function
%res = OpVariable %_ptr_Function_8 Function
OpStore %arg_0 %14
- OpStore %arg_1 %20
- OpStore %arg_2 %25
- %28 = OpLoad %15 %arg_0 None
- %29 = OpLoad %21 %arg_1 None
- %30 = OpLoad %8 %arg_2 None
- %31 = OpCooperativeMatrixMulAddKHR %8 %28 %29 %30 NoneKHR
- OpStore %res %31
- %33 = OpLoad %8 %res None
- OpReturnValue %33
+ OpStore %arg_1 %21
+ OpStore %arg_2 %26
+ %29 = OpLoad %15 %arg_0 None
+ %30 = OpLoad %22 %arg_1 None
+ %31 = OpLoad %8 %arg_2 None
+ %32 = OpCooperativeMatrixMulAddKHR %8 %29 %30 %31 NoneKHR
+ OpStore %res %32
+ %34 = OpLoad %8 %res None
+ OpReturnValue %34
OpFunctionEnd
-%compute_main = OpFunction %void None %36
- %37 = OpLabel
- %38 = OpFunctionCall %8 %subgroupMatrixMultiplyAccumulate_db91bf
- %39 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
- %41 = OpAccessChain %_ptr_StorageBuffer_uint %39 %uint_0
- OpCooperativeMatrixStoreKHR %41 %38 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %37
+ %38 = OpLabel
+ %39 = OpFunctionCall %8 %subgroupMatrixMultiplyAccumulate_db91bf
+ %40 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_1024 %1 %uint_0
+ %42 = OpAccessChain %_ptr_StorageBuffer_uint %40 %uint_0
+ OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.spvasm
index d492670..428fd90 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e27d24.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 46
+; Bound: 48
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -40,41 +40,43 @@
%float = OpTypeFloat 32
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %float_0 = OpConstant %float 0
+ %15 = OpConstantComposite %16 %float_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %22 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %21 = OpConstantNull %22
-%_ptr_Function_22 = OpTypePointer Function %22
- %26 = OpConstantNull %9
+ %23 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
+ %22 = OpConstantComposite %23 %float_0
+%_ptr_Function_23 = OpTypePointer Function %23
+ %int_0 = OpConstant %int 0
+ %27 = OpConstantComposite %9 %int_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %37 = OpTypeFunction %void
+ %39 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_int_uint_1024 = OpTypePointer StorageBuffer %_arr_int_uint_1024
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_e27d24 = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_22 Function
+ %arg_1 = OpVariable %_ptr_Function_23 Function
%arg_2 = OpVariable %_ptr_Function_9 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %21
- OpStore %arg_2 %26
- %29 = OpLoad %16 %arg_0 None
- %30 = OpLoad %22 %arg_1 None
- %31 = OpLoad %9 %arg_2 None
- %32 = OpCooperativeMatrixMulAddKHR %9 %29 %30 %31 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
- OpStore %res %32
- %34 = OpLoad %9 %res None
- OpReturnValue %34
+ OpStore %arg_1 %22
+ OpStore %arg_2 %27
+ %31 = OpLoad %16 %arg_0 None
+ %32 = OpLoad %23 %arg_1 None
+ %33 = OpLoad %9 %arg_2 None
+ %34 = OpCooperativeMatrixMulAddKHR %9 %31 %32 %33 MatrixCSignedComponentsKHR|MatrixResultSignedComponentsKHR
+ OpStore %res %34
+ %36 = OpLoad %9 %res None
+ OpReturnValue %36
OpFunctionEnd
-%compute_main = OpFunction %void None %37
- %38 = OpLabel
- %39 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_e27d24
- %40 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
- %42 = OpAccessChain %_ptr_StorageBuffer_int %40 %uint_0
- OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %39
+ %40 = OpLabel
+ %41 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_e27d24
+ %42 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_1024 %1 %uint_0
+ %44 = OpAccessChain %_ptr_StorageBuffer_int %42 %uint_0
+ OpCooperativeMatrixStoreKHR %44 %41 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.spvasm
index 921a175..05f22f9 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e49afd.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 45
+; Bound: 46
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,16 +39,17 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %15 = OpConstantComposite %16 %uint_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
%21 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
+ %20 = OpConstantComposite %21 %uint_0
%_ptr_Function_21 = OpTypePointer Function %21
- %25 = OpConstantNull %9
+ %float_0 = OpConstant %float 0
+ %25 = OpConstantComposite %9 %float_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %36 = OpTypeFunction %void
+ %37 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_float_uint_1024 = OpTypePointer StorageBuffer %_arr_float_uint_1024
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_64 = OpConstant %uint 64
@@ -61,19 +62,19 @@
OpStore %arg_0 %15
OpStore %arg_1 %20
OpStore %arg_2 %25
- %28 = OpLoad %16 %arg_0 None
- %29 = OpLoad %21 %arg_1 None
- %30 = OpLoad %9 %arg_2 None
- %31 = OpCooperativeMatrixMulAddKHR %9 %28 %29 %30 NoneKHR
- OpStore %res %31
- %33 = OpLoad %9 %res None
- OpReturnValue %33
+ %29 = OpLoad %16 %arg_0 None
+ %30 = OpLoad %21 %arg_1 None
+ %31 = OpLoad %9 %arg_2 None
+ %32 = OpCooperativeMatrixMulAddKHR %9 %29 %30 %31 NoneKHR
+ OpStore %res %32
+ %34 = OpLoad %9 %res None
+ OpReturnValue %34
OpFunctionEnd
-%compute_main = OpFunction %void None %36
- %37 = OpLabel
- %38 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_e49afd
- %39 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
- %41 = OpAccessChain %_ptr_StorageBuffer_float %39 %uint_0
- OpCooperativeMatrixStoreKHR %41 %38 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %37
+ %38 = OpLabel
+ %39 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_e49afd
+ %40 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
+ %42 = OpAccessChain %_ptr_StorageBuffer_float %40 %uint_0
+ OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.spvasm
index db0c397..16eb5a7 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixMultiplyAccumulate/e7fb3c.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 45
+; Bound: 46
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,41 +39,42 @@
%13 = OpTypeFunction %9
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %float_0 = OpConstant %float 0
+ %15 = OpConstantComposite %16 %float_0
%_ptr_Function_16 = OpTypePointer Function %16
%uint_1 = OpConstant %uint 1
- %21 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %20 = OpConstantNull %21
-%_ptr_Function_21 = OpTypePointer Function %21
- %25 = OpConstantNull %9
+ %22 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
+ %21 = OpConstantComposite %22 %float_0
+%_ptr_Function_22 = OpTypePointer Function %22
+ %26 = OpConstantComposite %9 %float_0
%_ptr_Function_9 = OpTypePointer Function %9
%void = OpTypeVoid
- %36 = OpTypeFunction %void
+ %37 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_float_uint_1024 = OpTypePointer StorageBuffer %_arr_float_uint_1024
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_64 = OpConstant %uint 64
%subgroupMatrixMultiplyAccumulate_e7fb3c = OpFunction %9 None %13
%14 = OpLabel
%arg_0 = OpVariable %_ptr_Function_16 Function
- %arg_1 = OpVariable %_ptr_Function_21 Function
+ %arg_1 = OpVariable %_ptr_Function_22 Function
%arg_2 = OpVariable %_ptr_Function_9 Function
%res = OpVariable %_ptr_Function_9 Function
OpStore %arg_0 %15
- OpStore %arg_1 %20
- OpStore %arg_2 %25
- %28 = OpLoad %16 %arg_0 None
- %29 = OpLoad %21 %arg_1 None
- %30 = OpLoad %9 %arg_2 None
- %31 = OpCooperativeMatrixMulAddKHR %9 %28 %29 %30 NoneKHR
- OpStore %res %31
- %33 = OpLoad %9 %res None
- OpReturnValue %33
+ OpStore %arg_1 %21
+ OpStore %arg_2 %26
+ %29 = OpLoad %16 %arg_0 None
+ %30 = OpLoad %22 %arg_1 None
+ %31 = OpLoad %9 %arg_2 None
+ %32 = OpCooperativeMatrixMulAddKHR %9 %29 %30 %31 NoneKHR
+ OpStore %res %32
+ %34 = OpLoad %9 %res None
+ OpReturnValue %34
OpFunctionEnd
-%compute_main = OpFunction %void None %36
- %37 = OpLabel
- %38 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_e7fb3c
- %39 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
- %41 = OpAccessChain %_ptr_StorageBuffer_float %39 %uint_0
- OpCooperativeMatrixStoreKHR %41 %38 %uint_0 %uint_64 NonPrivatePointer
+%compute_main = OpFunction %void None %37
+ %38 = OpLabel
+ %39 = OpFunctionCall %9 %subgroupMatrixMultiplyAccumulate_e7fb3c
+ %40 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_1024 %1 %uint_0
+ %42 = OpAccessChain %_ptr_StorageBuffer_float %40 %uint_0
+ OpCooperativeMatrixStoreKHR %42 %39 %uint_0 %uint_64 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.spvasm
index 8191d23..aa8f84c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 35
+; Bound: 36
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -46,7 +46,8 @@
%uint_8 = OpConstant %uint 8
%uint_0 = OpConstant %uint 0
%17 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %16 = OpConstantNull %17
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %16 = OpConstantComposite %17 %half_0x0p_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_StorageBuffer__arr_half_uint_64 = OpTypePointer StorageBuffer %_arr_half_uint_64
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
@@ -58,16 +59,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %24 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_64 %1 %uint_0 %uint_0
- %26 = OpLoad %uint %arg_1 None
- %27 = OpLoad %17 %arg_2 None
- %28 = OpLoad %uint %arg_4 None
- %29 = OpAccessChain %_ptr_StorageBuffer_half %24 %26
- OpCooperativeMatrixStoreKHR %29 %27 %uint_1 %28 NonPrivatePointer
+ %25 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_64 %1 %uint_0 %uint_0
+ %27 = OpLoad %uint %arg_1 None
+ %28 = OpLoad %17 %arg_2 None
+ %29 = OpLoad %uint %arg_4 None
+ %30 = OpAccessChain %_ptr_StorageBuffer_half %25 %27
+ OpCooperativeMatrixStoreKHR %30 %28 %uint_1 %29 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %33 = OpLabel
- %34 = OpFunctionCall %void %subgroupMatrixStore_0522d1
+ %34 = OpLabel
+ %35 = OpFunctionCall %void %subgroupMatrixStore_0522d1
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.spvasm
index 7ce195d..e2def42 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.spvasm
@@ -41,12 +41,12 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%17 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_2
- %16 = OpConstantNull %17
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %16 = OpConstantComposite %17 %half_0x0p_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_Workgroup_half = OpTypePointer Workgroup %half
- %32 = OpTypeFunction %void %uint
+ %33 = OpTypeFunction %void %uint
%bool = OpTypeBool
-%half_0x0p_0 = OpConstant %half 0x0p+0
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_127fb7 = OpFunction %void None %11
%12 = OpLabel
@@ -56,37 +56,37 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %24 = OpLoad %uint %arg_1 None
- %25 = OpLoad %17 %arg_2 None
- %26 = OpLoad %uint %arg_4 None
- %27 = OpAccessChain %_ptr_Workgroup_half %arg_0 %24
- OpCooperativeMatrixStoreKHR %27 %25 %uint_1 %26 NonPrivatePointer
+ %25 = OpLoad %uint %arg_1 None
+ %26 = OpLoad %17 %arg_2 None
+ %27 = OpLoad %uint %arg_4 None
+ %28 = OpAccessChain %_ptr_Workgroup_half %arg_0 %25
+ OpCooperativeMatrixStoreKHR %28 %26 %uint_1 %27 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %32
+%compute_main_inner = OpFunction %void None %33
%tint_local_index = OpFunctionParameter %uint
- %33 = OpLabel
- OpBranch %34
%34 = OpLabel
- OpBranch %37
- %37 = OpLabel
- %39 = OpPhi %uint %tint_local_index %34 %40 %36
- OpLoopMerge %38 %36 None
OpBranch %35
%35 = OpLabel
- %41 = OpUGreaterThanEqual %bool %39 %uint_64
- OpSelectionMerge %43 None
- OpBranchConditional %41 %44 %43
- %44 = OpLabel
OpBranch %38
- %43 = OpLabel
- %45 = OpAccessChain %_ptr_Workgroup_half %arg_0 %39
- OpStore %45 %half_0x0p_0 NonPrivatePointer
+ %38 = OpLabel
+ %40 = OpPhi %uint %tint_local_index %35 %41 %37
+ OpLoopMerge %39 %37 None
OpBranch %36
%36 = OpLabel
- %40 = OpIAdd %uint %39 %uint_1
+ %42 = OpUGreaterThanEqual %bool %40 %uint_64
+ OpSelectionMerge %44 None
+ OpBranchConditional %42 %45 %44
+ %45 = OpLabel
+ OpBranch %39
+ %44 = OpLabel
+ %46 = OpAccessChain %_ptr_Workgroup_half %arg_0 %40
+ OpStore %46 %half_0x0p_0 NonPrivatePointer
OpBranch %37
- %38 = OpLabel
+ %37 = OpLabel
+ %41 = OpIAdd %uint %40 %uint_1
+ OpBranch %38
+ %39 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%49 = OpFunctionCall %void %subgroupMatrixStore_127fb7
OpReturn
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.spvasm
index 7611a32..917a837 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 36
+; Bound: 37
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -46,7 +46,8 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%17 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_2
- %16 = OpConstantNull %17
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %16 = OpConstantComposite %17 %half_0x0p_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_StorageBuffer__arr_half_uint_64 = OpTypePointer StorageBuffer %_arr_half_uint_64
%uint_0 = OpConstant %uint 0
@@ -59,16 +60,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %24 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_64 %1 %uint_0 %uint_0
- %27 = OpLoad %uint %arg_1 None
- %28 = OpLoad %17 %arg_2 None
- %29 = OpLoad %uint %arg_4 None
- %30 = OpAccessChain %_ptr_StorageBuffer_half %24 %27
- OpCooperativeMatrixStoreKHR %30 %28 %uint_1 %29 NonPrivatePointer
+ %25 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_64 %1 %uint_0 %uint_0
+ %28 = OpLoad %uint %arg_1 None
+ %29 = OpLoad %17 %arg_2 None
+ %30 = OpLoad %uint %arg_4 None
+ %31 = OpAccessChain %_ptr_StorageBuffer_half %25 %28
+ OpCooperativeMatrixStoreKHR %31 %29 %uint_1 %30 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %34 = OpLabel
- %35 = OpFunctionCall %void %subgroupMatrixStore_1466ba
+ %35 = OpLabel
+ %36 = OpFunctionCall %void %subgroupMatrixStore_1466ba
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.spvasm
index 2936dfa..c33316c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 35
+; Bound: 36
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -42,7 +42,8 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%17 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %16 = OpConstantNull %17
+ %int_0 = OpConstant %int 0
+ %16 = OpConstantComposite %17 %int_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_StorageBuffer__arr_int_uint_64 = OpTypePointer StorageBuffer %_arr_int_uint_64
%uint_0 = OpConstant %uint 0
@@ -55,16 +56,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %23 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_64 %1 %uint_0 %uint_0
- %26 = OpLoad %uint %arg_1 None
- %27 = OpLoad %17 %arg_2 None
- %28 = OpLoad %uint %arg_4 None
- %29 = OpAccessChain %_ptr_StorageBuffer_int %23 %26
- OpCooperativeMatrixStoreKHR %29 %27 %uint_1 %28 NonPrivatePointer
+ %24 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_64 %1 %uint_0 %uint_0
+ %27 = OpLoad %uint %arg_1 None
+ %28 = OpLoad %17 %arg_2 None
+ %29 = OpLoad %uint %arg_4 None
+ %30 = OpAccessChain %_ptr_StorageBuffer_int %24 %27
+ OpCooperativeMatrixStoreKHR %30 %28 %uint_1 %29 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %33 = OpLabel
- %34 = OpFunctionCall %void %subgroupMatrixStore_184580
+ %34 = OpLabel
+ %35 = OpFunctionCall %void %subgroupMatrixStore_184580
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.spvasm
index 849152d..2d2158a 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 35
+; Bound: 36
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -43,7 +43,8 @@
%uint_8 = OpConstant %uint 8
%uint_0 = OpConstant %uint 0
%17 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %16 = OpConstantNull %17
+ %float_0 = OpConstant %float 0
+ %16 = OpConstantComposite %17 %float_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_StorageBuffer__arr_float_uint_64 = OpTypePointer StorageBuffer %_arr_float_uint_64
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
@@ -55,16 +56,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %24 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_64 %1 %uint_0 %uint_0
- %26 = OpLoad %uint %arg_1 None
- %27 = OpLoad %17 %arg_2 None
- %28 = OpLoad %uint %arg_4 None
- %29 = OpAccessChain %_ptr_StorageBuffer_float %24 %26
- OpCooperativeMatrixStoreKHR %29 %27 %uint_1 %28 NonPrivatePointer
+ %25 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_64 %1 %uint_0 %uint_0
+ %27 = OpLoad %uint %arg_1 None
+ %28 = OpLoad %17 %arg_2 None
+ %29 = OpLoad %uint %arg_4 None
+ %30 = OpAccessChain %_ptr_StorageBuffer_float %25 %27
+ OpCooperativeMatrixStoreKHR %30 %28 %uint_1 %29 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %33 = OpLabel
- %34 = OpFunctionCall %void %subgroupMatrixStore_197435
+ %34 = OpLabel
+ %35 = OpFunctionCall %void %subgroupMatrixStore_197435
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.spvasm
index bfc113e..d629320 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2d78d3.wgsl.expected.spvasm
@@ -37,10 +37,10 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%14 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %13 = OpConstantNull %14
+ %uint_0 = OpConstant %uint 0
+ %13 = OpConstantComposite %14 %uint_0
%_ptr_Function_14 = OpTypePointer Function %14
%_ptr_StorageBuffer__runtimearr_uint = OpTypePointer StorageBuffer %_runtimearr_uint
- %uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%subgroupMatrixStore_2d78d3 = OpFunction %void None %8
%9 = OpLabel
@@ -50,11 +50,11 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %13
OpStore %arg_4 %uint_1
- %20 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_rw %uint_0
+ %21 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_rw %uint_0
%23 = OpLoad %uint %arg_1 None
%24 = OpLoad %14 %arg_2 None
%25 = OpLoad %uint %arg_4 None
- %26 = OpAccessChain %_ptr_StorageBuffer_uint %20 %23
+ %26 = OpAccessChain %_ptr_StorageBuffer_uint %21 %23
OpCooperativeMatrixStoreKHR %26 %24 %uint_1 %25 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.spvasm
index 89118ac..92ad0d3 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.spvasm
@@ -36,12 +36,12 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %15 = OpConstantNull %16
+ %uint_0 = OpConstant %uint 0
+ %15 = OpConstantComposite %16 %uint_0
%_ptr_Function_16 = OpTypePointer Function %16
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
- %30 = OpTypeFunction %void %uint
+ %31 = OpTypeFunction %void %uint
%bool = OpTypeBool
- %uint_0 = OpConstant %uint 0
%uint_2 = OpConstant %uint 2
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_2de0b1 = OpFunction %void None %10
@@ -52,37 +52,37 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %15
OpStore %arg_4 %uint_1
- %22 = OpLoad %uint %arg_1 None
- %23 = OpLoad %16 %arg_2 None
- %24 = OpLoad %uint %arg_4 None
- %25 = OpAccessChain %_ptr_Workgroup_uint %arg_0 %22
- OpCooperativeMatrixStoreKHR %25 %23 %uint_1 %24 NonPrivatePointer
+ %23 = OpLoad %uint %arg_1 None
+ %24 = OpLoad %16 %arg_2 None
+ %25 = OpLoad %uint %arg_4 None
+ %26 = OpAccessChain %_ptr_Workgroup_uint %arg_0 %23
+ OpCooperativeMatrixStoreKHR %26 %24 %uint_1 %25 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %30
+%compute_main_inner = OpFunction %void None %31
%tint_local_index = OpFunctionParameter %uint
- %31 = OpLabel
- OpBranch %32
%32 = OpLabel
- OpBranch %35
- %35 = OpLabel
- %37 = OpPhi %uint %tint_local_index %32 %38 %34
- OpLoopMerge %36 %34 None
OpBranch %33
%33 = OpLabel
- %39 = OpUGreaterThanEqual %bool %37 %uint_64
- OpSelectionMerge %41 None
- OpBranchConditional %39 %42 %41
- %42 = OpLabel
OpBranch %36
- %41 = OpLabel
- %43 = OpAccessChain %_ptr_Workgroup_uint %arg_0 %37
- OpStore %43 %uint_0 NonPrivatePointer
+ %36 = OpLabel
+ %38 = OpPhi %uint %tint_local_index %33 %39 %35
+ OpLoopMerge %37 %35 None
OpBranch %34
%34 = OpLabel
- %38 = OpIAdd %uint %37 %uint_1
+ %40 = OpUGreaterThanEqual %bool %38 %uint_64
+ OpSelectionMerge %42 None
+ OpBranchConditional %40 %43 %42
+ %43 = OpLabel
+ OpBranch %37
+ %42 = OpLabel
+ %44 = OpAccessChain %_ptr_Workgroup_uint %arg_0 %38
+ OpStore %44 %uint_0 NonPrivatePointer
OpBranch %35
- %36 = OpLabel
+ %35 = OpLabel
+ %39 = OpIAdd %uint %38 %uint_1
+ OpBranch %36
+ %37 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%48 = OpFunctionCall %void %subgroupMatrixStore_2de0b1
OpReturn
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.spvasm
index 467730a..1043452 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/3ea76e.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 33
+; Bound: 34
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,7 +39,8 @@
%uint_8 = OpConstant %uint 8
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+ %int_0 = OpConstant %int 0
+ %14 = OpConstantComposite %15 %int_0
%_ptr_Function_15 = OpTypePointer Function %15
%_ptr_StorageBuffer__runtimearr_int = OpTypePointer StorageBuffer %_runtimearr_int
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
@@ -51,16 +52,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %14
OpStore %arg_4 %uint_1
- %22 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_rw %uint_0
- %24 = OpLoad %uint %arg_1 None
- %25 = OpLoad %15 %arg_2 None
- %26 = OpLoad %uint %arg_4 None
- %27 = OpAccessChain %_ptr_StorageBuffer_int %22 %24
- OpCooperativeMatrixStoreKHR %27 %25 %uint_1 %26 NonPrivatePointer
+ %23 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_rw %uint_0
+ %25 = OpLoad %uint %arg_1 None
+ %26 = OpLoad %15 %arg_2 None
+ %27 = OpLoad %uint %arg_4 None
+ %28 = OpAccessChain %_ptr_StorageBuffer_int %23 %25
+ OpCooperativeMatrixStoreKHR %28 %26 %uint_1 %27 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %31 = OpLabel
- %32 = OpFunctionCall %void %subgroupMatrixStore_3ea76e
+ %32 = OpLabel
+ %33 = OpFunctionCall %void %subgroupMatrixStore_3ea76e
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.spvasm
index 0bc70d2..2dbd74a 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 35
+; Bound: 36
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -42,7 +42,8 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%17 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %16 = OpConstantNull %17
+ %float_0 = OpConstant %float 0
+ %16 = OpConstantComposite %17 %float_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_StorageBuffer__arr_float_uint_64 = OpTypePointer StorageBuffer %_arr_float_uint_64
%uint_0 = OpConstant %uint 0
@@ -55,16 +56,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %23 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_64 %1 %uint_0 %uint_0
- %26 = OpLoad %uint %arg_1 None
- %27 = OpLoad %17 %arg_2 None
- %28 = OpLoad %uint %arg_4 None
- %29 = OpAccessChain %_ptr_StorageBuffer_float %23 %26
- OpCooperativeMatrixStoreKHR %29 %27 %uint_1 %28 NonPrivatePointer
+ %24 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_64 %1 %uint_0 %uint_0
+ %27 = OpLoad %uint %arg_1 None
+ %28 = OpLoad %17 %arg_2 None
+ %29 = OpLoad %uint %arg_4 None
+ %30 = OpAccessChain %_ptr_StorageBuffer_float %24 %27
+ OpCooperativeMatrixStoreKHR %30 %28 %uint_1 %29 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %33 = OpLabel
- %34 = OpFunctionCall %void %subgroupMatrixStore_3fcc0f
+ %34 = OpLabel
+ %35 = OpFunctionCall %void %subgroupMatrixStore_3fcc0f
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.spvasm
index 0c25a83..4a6b878 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/476cdf.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 34
+; Bound: 35
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,7 +39,8 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%15 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_2
- %14 = OpConstantNull %15
+ %int_0 = OpConstant %int 0
+ %14 = OpConstantComposite %15 %int_0
%_ptr_Function_15 = OpTypePointer Function %15
%_ptr_StorageBuffer__runtimearr_int = OpTypePointer StorageBuffer %_runtimearr_int
%uint_0 = OpConstant %uint 0
@@ -52,16 +53,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %14
OpStore %arg_4 %uint_1
- %22 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_rw %uint_0
- %25 = OpLoad %uint %arg_1 None
- %26 = OpLoad %15 %arg_2 None
- %27 = OpLoad %uint %arg_4 None
- %28 = OpAccessChain %_ptr_StorageBuffer_int %22 %25
- OpCooperativeMatrixStoreKHR %28 %26 %uint_1 %27 NonPrivatePointer
+ %23 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_rw %uint_0
+ %26 = OpLoad %uint %arg_1 None
+ %27 = OpLoad %15 %arg_2 None
+ %28 = OpLoad %uint %arg_4 None
+ %29 = OpAccessChain %_ptr_StorageBuffer_int %23 %26
+ OpCooperativeMatrixStoreKHR %29 %27 %uint_1 %28 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %32 = OpLabel
- %33 = OpFunctionCall %void %subgroupMatrixStore_476cdf
+ %33 = OpLabel
+ %34 = OpFunctionCall %void %subgroupMatrixStore_476cdf
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.spvasm
index f73e899..aea19f8 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.spvasm
@@ -37,12 +37,12 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%17 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %16 = OpConstantNull %17
+ %float_0 = OpConstant %float 0
+ %16 = OpConstantComposite %17 %float_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_Workgroup_float = OpTypePointer Workgroup %float
- %31 = OpTypeFunction %void %uint
+ %32 = OpTypeFunction %void %uint
%bool = OpTypeBool
- %float_0 = OpConstant %float 0
%uint_2 = OpConstant %uint 2
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_49b25b = OpFunction %void None %11
@@ -53,37 +53,37 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %23 = OpLoad %uint %arg_1 None
- %24 = OpLoad %17 %arg_2 None
- %25 = OpLoad %uint %arg_4 None
- %26 = OpAccessChain %_ptr_Workgroup_float %arg_0 %23
- OpCooperativeMatrixStoreKHR %26 %24 %uint_1 %25 NonPrivatePointer
+ %24 = OpLoad %uint %arg_1 None
+ %25 = OpLoad %17 %arg_2 None
+ %26 = OpLoad %uint %arg_4 None
+ %27 = OpAccessChain %_ptr_Workgroup_float %arg_0 %24
+ OpCooperativeMatrixStoreKHR %27 %25 %uint_1 %26 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %31
+%compute_main_inner = OpFunction %void None %32
%tint_local_index = OpFunctionParameter %uint
- %32 = OpLabel
- OpBranch %33
%33 = OpLabel
- OpBranch %36
- %36 = OpLabel
- %38 = OpPhi %uint %tint_local_index %33 %39 %35
- OpLoopMerge %37 %35 None
OpBranch %34
%34 = OpLabel
- %40 = OpUGreaterThanEqual %bool %38 %uint_64
- OpSelectionMerge %42 None
- OpBranchConditional %40 %43 %42
- %43 = OpLabel
OpBranch %37
- %42 = OpLabel
- %44 = OpAccessChain %_ptr_Workgroup_float %arg_0 %38
- OpStore %44 %float_0 NonPrivatePointer
+ %37 = OpLabel
+ %39 = OpPhi %uint %tint_local_index %34 %40 %36
+ OpLoopMerge %38 %36 None
OpBranch %35
%35 = OpLabel
- %39 = OpIAdd %uint %38 %uint_1
+ %41 = OpUGreaterThanEqual %bool %39 %uint_64
+ OpSelectionMerge %43 None
+ OpBranchConditional %41 %44 %43
+ %44 = OpLabel
+ OpBranch %38
+ %43 = OpLabel
+ %45 = OpAccessChain %_ptr_Workgroup_float %arg_0 %39
+ OpStore %45 %float_0 NonPrivatePointer
OpBranch %36
- %37 = OpLabel
+ %36 = OpLabel
+ %40 = OpIAdd %uint %39 %uint_1
+ OpBranch %37
+ %38 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%49 = OpFunctionCall %void %subgroupMatrixStore_49b25b
OpReturn
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.spvasm
index 5ac2633..3cd2066 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/543411.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 33
+; Bound: 34
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -38,7 +38,8 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%15 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
- %14 = OpConstantNull %15
+ %float_0 = OpConstant %float 0
+ %14 = OpConstantComposite %15 %float_0
%_ptr_Function_15 = OpTypePointer Function %15
%_ptr_StorageBuffer__runtimearr_float = OpTypePointer StorageBuffer %_runtimearr_float
%uint_0 = OpConstant %uint 0
@@ -51,16 +52,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %14
OpStore %arg_4 %uint_1
- %21 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_rw %uint_0
- %24 = OpLoad %uint %arg_1 None
- %25 = OpLoad %15 %arg_2 None
- %26 = OpLoad %uint %arg_4 None
- %27 = OpAccessChain %_ptr_StorageBuffer_float %21 %24
- OpCooperativeMatrixStoreKHR %27 %25 %uint_1 %26 NonPrivatePointer
+ %22 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_rw %uint_0
+ %25 = OpLoad %uint %arg_1 None
+ %26 = OpLoad %15 %arg_2 None
+ %27 = OpLoad %uint %arg_4 None
+ %28 = OpAccessChain %_ptr_StorageBuffer_float %22 %25
+ OpCooperativeMatrixStoreKHR %28 %26 %uint_1 %27 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %31 = OpLabel
- %32 = OpFunctionCall %void %subgroupMatrixStore_543411
+ %32 = OpLabel
+ %33 = OpFunctionCall %void %subgroupMatrixStore_543411
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.spvasm
index 69cae1c..856baf9 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.spvasm
@@ -37,12 +37,12 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%17 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %16 = OpConstantNull %17
+ %int_0 = OpConstant %int 0
+ %16 = OpConstantComposite %17 %int_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_Workgroup_int = OpTypePointer Workgroup %int
- %31 = OpTypeFunction %void %uint
+ %32 = OpTypeFunction %void %uint
%bool = OpTypeBool
- %int_0 = OpConstant %int 0
%uint_2 = OpConstant %uint 2
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_5671e2 = OpFunction %void None %11
@@ -53,37 +53,37 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %23 = OpLoad %uint %arg_1 None
- %24 = OpLoad %17 %arg_2 None
- %25 = OpLoad %uint %arg_4 None
- %26 = OpAccessChain %_ptr_Workgroup_int %arg_0 %23
- OpCooperativeMatrixStoreKHR %26 %24 %uint_1 %25 NonPrivatePointer
+ %24 = OpLoad %uint %arg_1 None
+ %25 = OpLoad %17 %arg_2 None
+ %26 = OpLoad %uint %arg_4 None
+ %27 = OpAccessChain %_ptr_Workgroup_int %arg_0 %24
+ OpCooperativeMatrixStoreKHR %27 %25 %uint_1 %26 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %31
+%compute_main_inner = OpFunction %void None %32
%tint_local_index = OpFunctionParameter %uint
- %32 = OpLabel
- OpBranch %33
%33 = OpLabel
- OpBranch %36
- %36 = OpLabel
- %38 = OpPhi %uint %tint_local_index %33 %39 %35
- OpLoopMerge %37 %35 None
OpBranch %34
%34 = OpLabel
- %40 = OpUGreaterThanEqual %bool %38 %uint_64
- OpSelectionMerge %42 None
- OpBranchConditional %40 %43 %42
- %43 = OpLabel
OpBranch %37
- %42 = OpLabel
- %44 = OpAccessChain %_ptr_Workgroup_int %arg_0 %38
- OpStore %44 %int_0 NonPrivatePointer
+ %37 = OpLabel
+ %39 = OpPhi %uint %tint_local_index %34 %40 %36
+ OpLoopMerge %38 %36 None
OpBranch %35
%35 = OpLabel
- %39 = OpIAdd %uint %38 %uint_1
+ %41 = OpUGreaterThanEqual %bool %39 %uint_64
+ OpSelectionMerge %43 None
+ OpBranchConditional %41 %44 %43
+ %44 = OpLabel
+ OpBranch %38
+ %43 = OpLabel
+ %45 = OpAccessChain %_ptr_Workgroup_int %arg_0 %39
+ OpStore %45 %int_0 NonPrivatePointer
OpBranch %36
- %37 = OpLabel
+ %36 = OpLabel
+ %40 = OpIAdd %uint %39 %uint_1
+ OpBranch %37
+ %38 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%49 = OpFunctionCall %void %subgroupMatrixStore_5671e2
OpReturn
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.spvasm
index c21a502..f98f8bc 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.spvasm
@@ -41,10 +41,10 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_1
- %15 = OpConstantNull %16
+ %uint_0 = OpConstant %uint 0
+ %15 = OpConstantComposite %16 %uint_0
%_ptr_Function_16 = OpTypePointer Function %16
%_ptr_StorageBuffer__arr_uint_uint_64 = OpTypePointer StorageBuffer %_arr_uint_uint_64
- %uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%subgroupMatrixStore_57de92 = OpFunction %void None %10
%11 = OpLabel
@@ -54,11 +54,11 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %15
OpStore %arg_4 %uint_1
- %22 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_64 %1 %uint_0 %uint_0
+ %23 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_64 %1 %uint_0 %uint_0
%25 = OpLoad %uint %arg_1 None
%26 = OpLoad %16 %arg_2 None
%27 = OpLoad %uint %arg_4 None
- %28 = OpAccessChain %_ptr_StorageBuffer_uint %22 %25
+ %28 = OpAccessChain %_ptr_StorageBuffer_uint %23 %25
OpCooperativeMatrixStoreKHR %28 %26 %uint_1 %27 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.spvasm
index f8a0946..daf6c7e 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.spvasm
@@ -37,7 +37,7 @@
%uint_8 = OpConstant %uint 8
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %15 = OpConstantComposite %16 %uint_0
%_ptr_Function_16 = OpTypePointer Function %16
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
%31 = OpTypeFunction %void %uint
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.spvasm
index e62be4b..dd8a857 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/6d8de7.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 33
+; Bound: 34
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -41,7 +41,8 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%15 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %14 = OpConstantNull %15
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %14 = OpConstantComposite %15 %half_0x0p_0
%_ptr_Function_15 = OpTypePointer Function %15
%_ptr_StorageBuffer__runtimearr_half = OpTypePointer StorageBuffer %_runtimearr_half
%uint_0 = OpConstant %uint 0
@@ -54,16 +55,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %14
OpStore %arg_4 %uint_1
- %21 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_rw %uint_0
- %24 = OpLoad %uint %arg_1 None
- %25 = OpLoad %15 %arg_2 None
- %26 = OpLoad %uint %arg_4 None
- %27 = OpAccessChain %_ptr_StorageBuffer_half %21 %24
- OpCooperativeMatrixStoreKHR %27 %25 %uint_1 %26 NonPrivatePointer
+ %22 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_rw %uint_0
+ %25 = OpLoad %uint %arg_1 None
+ %26 = OpLoad %15 %arg_2 None
+ %27 = OpLoad %uint %arg_4 None
+ %28 = OpAccessChain %_ptr_StorageBuffer_half %22 %25
+ OpCooperativeMatrixStoreKHR %28 %26 %uint_1 %27 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %31 = OpLabel
- %32 = OpFunctionCall %void %subgroupMatrixStore_6d8de7
+ %32 = OpLabel
+ %33 = OpFunctionCall %void %subgroupMatrixStore_6d8de7
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.spvasm
index a2582aa..bd0c005 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 36
+; Bound: 37
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -43,7 +43,8 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%17 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_2
- %16 = OpConstantNull %17
+ %float_0 = OpConstant %float 0
+ %16 = OpConstantComposite %17 %float_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_StorageBuffer__arr_float_uint_64 = OpTypePointer StorageBuffer %_arr_float_uint_64
%uint_0 = OpConstant %uint 0
@@ -56,16 +57,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %24 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_64 %1 %uint_0 %uint_0
- %27 = OpLoad %uint %arg_1 None
- %28 = OpLoad %17 %arg_2 None
- %29 = OpLoad %uint %arg_4 None
- %30 = OpAccessChain %_ptr_StorageBuffer_float %24 %27
- OpCooperativeMatrixStoreKHR %30 %28 %uint_1 %29 NonPrivatePointer
+ %25 = OpAccessChain %_ptr_StorageBuffer__arr_float_uint_64 %1 %uint_0 %uint_0
+ %28 = OpLoad %uint %arg_1 None
+ %29 = OpLoad %17 %arg_2 None
+ %30 = OpLoad %uint %arg_4 None
+ %31 = OpAccessChain %_ptr_StorageBuffer_float %25 %28
+ OpCooperativeMatrixStoreKHR %31 %29 %uint_1 %30 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %34 = OpLabel
- %35 = OpFunctionCall %void %subgroupMatrixStore_8a2280
+ %35 = OpLabel
+ %36 = OpFunctionCall %void %subgroupMatrixStore_8a2280
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.spvasm
index c0ce957..ae07b66 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8c59ed.wgsl.expected.spvasm
@@ -38,7 +38,7 @@
%uint_8 = OpConstant %uint 8
%uint_0 = OpConstant %uint 0
%14 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %13 = OpConstantNull %14
+ %13 = OpConstantComposite %14 %uint_0
%_ptr_Function_14 = OpTypePointer Function %14
%_ptr_StorageBuffer__runtimearr_uint = OpTypePointer StorageBuffer %_runtimearr_uint
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.spvasm
index 5a0c0dc..e1b4d7f 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 35
+; Bound: 36
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -43,7 +43,8 @@
%uint_8 = OpConstant %uint 8
%uint_0 = OpConstant %uint 0
%17 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %16 = OpConstantNull %17
+ %int_0 = OpConstant %int 0
+ %16 = OpConstantComposite %17 %int_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_StorageBuffer__arr_int_uint_64 = OpTypePointer StorageBuffer %_arr_int_uint_64
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
@@ -55,16 +56,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %24 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_64 %1 %uint_0 %uint_0
- %26 = OpLoad %uint %arg_1 None
- %27 = OpLoad %17 %arg_2 None
- %28 = OpLoad %uint %arg_4 None
- %29 = OpAccessChain %_ptr_StorageBuffer_int %24 %26
- OpCooperativeMatrixStoreKHR %29 %27 %uint_1 %28 NonPrivatePointer
+ %25 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_64 %1 %uint_0 %uint_0
+ %27 = OpLoad %uint %arg_1 None
+ %28 = OpLoad %17 %arg_2 None
+ %29 = OpLoad %uint %arg_4 None
+ %30 = OpAccessChain %_ptr_StorageBuffer_int %25 %27
+ OpCooperativeMatrixStoreKHR %30 %28 %uint_1 %29 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %33 = OpLabel
- %34 = OpFunctionCall %void %subgroupMatrixStore_9019ee
+ %34 = OpLabel
+ %35 = OpFunctionCall %void %subgroupMatrixStore_9019ee
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.spvasm
index 23e016c..9d62273 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.spvasm
@@ -37,12 +37,12 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_2
- %15 = OpConstantNull %16
+ %uint_0 = OpConstant %uint 0
+ %15 = OpConstantComposite %16 %uint_0
%_ptr_Function_16 = OpTypePointer Function %16
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
- %31 = OpTypeFunction %void %uint
+ %32 = OpTypeFunction %void %uint
%bool = OpTypeBool
- %uint_0 = OpConstant %uint 0
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_9a7d60 = OpFunction %void None %10
%11 = OpLabel
@@ -52,37 +52,37 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %15
OpStore %arg_4 %uint_1
- %23 = OpLoad %uint %arg_1 None
- %24 = OpLoad %16 %arg_2 None
- %25 = OpLoad %uint %arg_4 None
- %26 = OpAccessChain %_ptr_Workgroup_uint %arg_0 %23
- OpCooperativeMatrixStoreKHR %26 %24 %uint_1 %25 NonPrivatePointer
+ %24 = OpLoad %uint %arg_1 None
+ %25 = OpLoad %16 %arg_2 None
+ %26 = OpLoad %uint %arg_4 None
+ %27 = OpAccessChain %_ptr_Workgroup_uint %arg_0 %24
+ OpCooperativeMatrixStoreKHR %27 %25 %uint_1 %26 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %31
+%compute_main_inner = OpFunction %void None %32
%tint_local_index = OpFunctionParameter %uint
- %32 = OpLabel
- OpBranch %33
%33 = OpLabel
- OpBranch %36
- %36 = OpLabel
- %38 = OpPhi %uint %tint_local_index %33 %39 %35
- OpLoopMerge %37 %35 None
OpBranch %34
%34 = OpLabel
- %40 = OpUGreaterThanEqual %bool %38 %uint_64
- OpSelectionMerge %42 None
- OpBranchConditional %40 %43 %42
- %43 = OpLabel
OpBranch %37
- %42 = OpLabel
- %44 = OpAccessChain %_ptr_Workgroup_uint %arg_0 %38
- OpStore %44 %uint_0 NonPrivatePointer
+ %37 = OpLabel
+ %39 = OpPhi %uint %tint_local_index %34 %40 %36
+ OpLoopMerge %38 %36 None
OpBranch %35
%35 = OpLabel
- %39 = OpIAdd %uint %38 %uint_1
+ %41 = OpUGreaterThanEqual %bool %39 %uint_64
+ OpSelectionMerge %43 None
+ OpBranchConditional %41 %44 %43
+ %44 = OpLabel
+ OpBranch %38
+ %43 = OpLabel
+ %45 = OpAccessChain %_ptr_Workgroup_uint %arg_0 %39
+ OpStore %45 %uint_0 NonPrivatePointer
OpBranch %36
- %37 = OpLabel
+ %36 = OpLabel
+ %40 = OpIAdd %uint %39 %uint_1
+ OpBranch %37
+ %38 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%48 = OpFunctionCall %void %subgroupMatrixStore_9a7d60
OpReturn
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.spvasm
index d7a2e06..bf1052c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 36
+; Bound: 37
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -43,7 +43,8 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%17 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_2
- %16 = OpConstantNull %17
+ %int_0 = OpConstant %int 0
+ %16 = OpConstantComposite %17 %int_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_StorageBuffer__arr_int_uint_64 = OpTypePointer StorageBuffer %_arr_int_uint_64
%uint_0 = OpConstant %uint 0
@@ -56,16 +57,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %24 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_64 %1 %uint_0 %uint_0
- %27 = OpLoad %uint %arg_1 None
- %28 = OpLoad %17 %arg_2 None
- %29 = OpLoad %uint %arg_4 None
- %30 = OpAccessChain %_ptr_StorageBuffer_int %24 %27
- OpCooperativeMatrixStoreKHR %30 %28 %uint_1 %29 NonPrivatePointer
+ %25 = OpAccessChain %_ptr_StorageBuffer__arr_int_uint_64 %1 %uint_0 %uint_0
+ %28 = OpLoad %uint %arg_1 None
+ %29 = OpLoad %17 %arg_2 None
+ %30 = OpLoad %uint %arg_4 None
+ %31 = OpAccessChain %_ptr_StorageBuffer_int %25 %28
+ OpCooperativeMatrixStoreKHR %31 %29 %uint_1 %30 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %34 = OpLabel
- %35 = OpFunctionCall %void %subgroupMatrixStore_9fffe5
+ %35 = OpLabel
+ %36 = OpFunctionCall %void %subgroupMatrixStore_9fffe5
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.spvasm
index af94758..39de255 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/adbc3e.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 33
+; Bound: 34
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -42,7 +42,8 @@
%uint_8 = OpConstant %uint 8
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %14 = OpConstantComposite %15 %half_0x0p_0
%_ptr_Function_15 = OpTypePointer Function %15
%_ptr_StorageBuffer__runtimearr_half = OpTypePointer StorageBuffer %_runtimearr_half
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
@@ -54,16 +55,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %14
OpStore %arg_4 %uint_1
- %22 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_rw %uint_0
- %24 = OpLoad %uint %arg_1 None
- %25 = OpLoad %15 %arg_2 None
- %26 = OpLoad %uint %arg_4 None
- %27 = OpAccessChain %_ptr_StorageBuffer_half %22 %24
- OpCooperativeMatrixStoreKHR %27 %25 %uint_1 %26 NonPrivatePointer
+ %23 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_rw %uint_0
+ %25 = OpLoad %uint %arg_1 None
+ %26 = OpLoad %15 %arg_2 None
+ %27 = OpLoad %uint %arg_4 None
+ %28 = OpAccessChain %_ptr_StorageBuffer_half %23 %25
+ OpCooperativeMatrixStoreKHR %28 %26 %uint_1 %27 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %31 = OpLabel
- %32 = OpFunctionCall %void %subgroupMatrixStore_adbc3e
+ %32 = OpLabel
+ %33 = OpFunctionCall %void %subgroupMatrixStore_adbc3e
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.spvasm
index a949be4..f7e911a 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.spvasm
@@ -38,12 +38,12 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%17 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_2
- %16 = OpConstantNull %17
+ %float_0 = OpConstant %float 0
+ %16 = OpConstantComposite %17 %float_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_Workgroup_float = OpTypePointer Workgroup %float
- %32 = OpTypeFunction %void %uint
+ %33 = OpTypeFunction %void %uint
%bool = OpTypeBool
- %float_0 = OpConstant %float 0
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_b9ff25 = OpFunction %void None %11
%12 = OpLabel
@@ -53,37 +53,37 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %24 = OpLoad %uint %arg_1 None
- %25 = OpLoad %17 %arg_2 None
- %26 = OpLoad %uint %arg_4 None
- %27 = OpAccessChain %_ptr_Workgroup_float %arg_0 %24
- OpCooperativeMatrixStoreKHR %27 %25 %uint_1 %26 NonPrivatePointer
+ %25 = OpLoad %uint %arg_1 None
+ %26 = OpLoad %17 %arg_2 None
+ %27 = OpLoad %uint %arg_4 None
+ %28 = OpAccessChain %_ptr_Workgroup_float %arg_0 %25
+ OpCooperativeMatrixStoreKHR %28 %26 %uint_1 %27 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %32
+%compute_main_inner = OpFunction %void None %33
%tint_local_index = OpFunctionParameter %uint
- %33 = OpLabel
- OpBranch %34
%34 = OpLabel
- OpBranch %37
- %37 = OpLabel
- %39 = OpPhi %uint %tint_local_index %34 %40 %36
- OpLoopMerge %38 %36 None
OpBranch %35
%35 = OpLabel
- %41 = OpUGreaterThanEqual %bool %39 %uint_64
- OpSelectionMerge %43 None
- OpBranchConditional %41 %44 %43
- %44 = OpLabel
OpBranch %38
- %43 = OpLabel
- %45 = OpAccessChain %_ptr_Workgroup_float %arg_0 %39
- OpStore %45 %float_0 NonPrivatePointer
+ %38 = OpLabel
+ %40 = OpPhi %uint %tint_local_index %35 %41 %37
+ OpLoopMerge %39 %37 None
OpBranch %36
%36 = OpLabel
- %40 = OpIAdd %uint %39 %uint_1
+ %42 = OpUGreaterThanEqual %bool %40 %uint_64
+ OpSelectionMerge %44 None
+ OpBranchConditional %42 %45 %44
+ %45 = OpLabel
+ OpBranch %39
+ %44 = OpLabel
+ %46 = OpAccessChain %_ptr_Workgroup_float %arg_0 %40
+ OpStore %46 %float_0 NonPrivatePointer
OpBranch %37
- %38 = OpLabel
+ %37 = OpLabel
+ %41 = OpIAdd %uint %40 %uint_1
+ OpBranch %38
+ %39 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%49 = OpFunctionCall %void %subgroupMatrixStore_b9ff25
OpReturn
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.spvasm
index f356723..54c0159 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 35
+; Bound: 36
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -45,7 +45,8 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%17 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %16 = OpConstantNull %17
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %16 = OpConstantComposite %17 %half_0x0p_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_StorageBuffer__arr_half_uint_64 = OpTypePointer StorageBuffer %_arr_half_uint_64
%uint_0 = OpConstant %uint 0
@@ -58,16 +59,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %23 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_64 %1 %uint_0 %uint_0
- %26 = OpLoad %uint %arg_1 None
- %27 = OpLoad %17 %arg_2 None
- %28 = OpLoad %uint %arg_4 None
- %29 = OpAccessChain %_ptr_StorageBuffer_half %23 %26
- OpCooperativeMatrixStoreKHR %29 %27 %uint_1 %28 NonPrivatePointer
+ %24 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_64 %1 %uint_0 %uint_0
+ %27 = OpLoad %uint %arg_1 None
+ %28 = OpLoad %17 %arg_2 None
+ %29 = OpLoad %uint %arg_4 None
+ %30 = OpAccessChain %_ptr_StorageBuffer_half %24 %27
+ OpCooperativeMatrixStoreKHR %30 %28 %uint_1 %29 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %11
- %33 = OpLabel
- %34 = OpFunctionCall %void %subgroupMatrixStore_ba9442
+ %34 = OpLabel
+ %35 = OpFunctionCall %void %subgroupMatrixStore_ba9442
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.spvasm
index 9512e27..c054712 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bb2478.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 34
+; Bound: 35
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,7 +39,8 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%15 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_2
- %14 = OpConstantNull %15
+ %float_0 = OpConstant %float 0
+ %14 = OpConstantComposite %15 %float_0
%_ptr_Function_15 = OpTypePointer Function %15
%_ptr_StorageBuffer__runtimearr_float = OpTypePointer StorageBuffer %_runtimearr_float
%uint_0 = OpConstant %uint 0
@@ -52,16 +53,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %14
OpStore %arg_4 %uint_1
- %22 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_rw %uint_0
- %25 = OpLoad %uint %arg_1 None
- %26 = OpLoad %15 %arg_2 None
- %27 = OpLoad %uint %arg_4 None
- %28 = OpAccessChain %_ptr_StorageBuffer_float %22 %25
- OpCooperativeMatrixStoreKHR %28 %26 %uint_1 %27 NonPrivatePointer
+ %23 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_rw %uint_0
+ %26 = OpLoad %uint %arg_1 None
+ %27 = OpLoad %15 %arg_2 None
+ %28 = OpLoad %uint %arg_4 None
+ %29 = OpAccessChain %_ptr_StorageBuffer_float %23 %26
+ OpCooperativeMatrixStoreKHR %29 %27 %uint_1 %28 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %32 = OpLabel
- %33 = OpFunctionCall %void %subgroupMatrixStore_bb2478
+ %33 = OpLabel
+ %34 = OpFunctionCall %void %subgroupMatrixStore_bb2478
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.spvasm
index b0c59c2..0f2ae3f 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bb5d49.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 33
+; Bound: 34
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -39,7 +39,8 @@
%uint_8 = OpConstant %uint 8
%uint_0 = OpConstant %uint 0
%15 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %14 = OpConstantNull %15
+ %float_0 = OpConstant %float 0
+ %14 = OpConstantComposite %15 %float_0
%_ptr_Function_15 = OpTypePointer Function %15
%_ptr_StorageBuffer__runtimearr_float = OpTypePointer StorageBuffer %_runtimearr_float
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
@@ -51,16 +52,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %14
OpStore %arg_4 %uint_1
- %22 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_rw %uint_0
- %24 = OpLoad %uint %arg_1 None
- %25 = OpLoad %15 %arg_2 None
- %26 = OpLoad %uint %arg_4 None
- %27 = OpAccessChain %_ptr_StorageBuffer_float %22 %24
- OpCooperativeMatrixStoreKHR %27 %25 %uint_1 %26 NonPrivatePointer
+ %23 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_rw %uint_0
+ %25 = OpLoad %uint %arg_1 None
+ %26 = OpLoad %15 %arg_2 None
+ %27 = OpLoad %uint %arg_4 None
+ %28 = OpAccessChain %_ptr_StorageBuffer_float %23 %25
+ OpCooperativeMatrixStoreKHR %28 %26 %uint_1 %27 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %31 = OpLabel
- %32 = OpFunctionCall %void %subgroupMatrixStore_bb5d49
+ %32 = OpLabel
+ %33 = OpFunctionCall %void %subgroupMatrixStore_bb5d49
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.spvasm
index c79e572..cdabd74 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.spvasm
@@ -38,12 +38,12 @@
%uint_8 = OpConstant %uint 8
%uint_0 = OpConstant %uint 0
%17 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_0
- %16 = OpConstantNull %17
+ %int_0 = OpConstant %int 0
+ %16 = OpConstantComposite %17 %int_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_Workgroup_int = OpTypePointer Workgroup %int
- %32 = OpTypeFunction %void %uint
+ %33 = OpTypeFunction %void %uint
%bool = OpTypeBool
- %int_0 = OpConstant %int 0
%uint_2 = OpConstant %uint 2
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_bfd0a4 = OpFunction %void None %11
@@ -54,37 +54,37 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %24 = OpLoad %uint %arg_1 None
- %25 = OpLoad %17 %arg_2 None
- %26 = OpLoad %uint %arg_4 None
- %27 = OpAccessChain %_ptr_Workgroup_int %arg_0 %24
- OpCooperativeMatrixStoreKHR %27 %25 %uint_1 %26 NonPrivatePointer
+ %25 = OpLoad %uint %arg_1 None
+ %26 = OpLoad %17 %arg_2 None
+ %27 = OpLoad %uint %arg_4 None
+ %28 = OpAccessChain %_ptr_Workgroup_int %arg_0 %25
+ OpCooperativeMatrixStoreKHR %28 %26 %uint_1 %27 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %32
+%compute_main_inner = OpFunction %void None %33
%tint_local_index = OpFunctionParameter %uint
- %33 = OpLabel
- OpBranch %34
%34 = OpLabel
- OpBranch %37
- %37 = OpLabel
- %39 = OpPhi %uint %tint_local_index %34 %40 %36
- OpLoopMerge %38 %36 None
OpBranch %35
%35 = OpLabel
- %41 = OpUGreaterThanEqual %bool %39 %uint_64
- OpSelectionMerge %43 None
- OpBranchConditional %41 %44 %43
- %44 = OpLabel
OpBranch %38
- %43 = OpLabel
- %45 = OpAccessChain %_ptr_Workgroup_int %arg_0 %39
- OpStore %45 %int_0 NonPrivatePointer
+ %38 = OpLabel
+ %40 = OpPhi %uint %tint_local_index %35 %41 %37
+ OpLoopMerge %39 %37 None
OpBranch %36
%36 = OpLabel
- %40 = OpIAdd %uint %39 %uint_1
+ %42 = OpUGreaterThanEqual %bool %40 %uint_64
+ OpSelectionMerge %44 None
+ OpBranchConditional %42 %45 %44
+ %45 = OpLabel
+ OpBranch %39
+ %44 = OpLabel
+ %46 = OpAccessChain %_ptr_Workgroup_int %arg_0 %40
+ OpStore %46 %int_0 NonPrivatePointer
OpBranch %37
- %38 = OpLabel
+ %37 = OpLabel
+ %41 = OpIAdd %uint %40 %uint_1
+ OpBranch %38
+ %39 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%50 = OpFunctionCall %void %subgroupMatrixStore_bfd0a4
OpReturn
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.spvasm
index 42a9823..d0c943e 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bfe106.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 34
+; Bound: 35
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -42,7 +42,8 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%15 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_2
- %14 = OpConstantNull %15
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %14 = OpConstantComposite %15 %half_0x0p_0
%_ptr_Function_15 = OpTypePointer Function %15
%_ptr_StorageBuffer__runtimearr_half = OpTypePointer StorageBuffer %_runtimearr_half
%uint_0 = OpConstant %uint 0
@@ -55,16 +56,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %14
OpStore %arg_4 %uint_1
- %22 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_rw %uint_0
- %25 = OpLoad %uint %arg_1 None
- %26 = OpLoad %15 %arg_2 None
- %27 = OpLoad %uint %arg_4 None
- %28 = OpAccessChain %_ptr_StorageBuffer_half %22 %25
- OpCooperativeMatrixStoreKHR %28 %26 %uint_1 %27 NonPrivatePointer
+ %23 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_rw %uint_0
+ %26 = OpLoad %uint %arg_1 None
+ %27 = OpLoad %15 %arg_2 None
+ %28 = OpLoad %uint %arg_4 None
+ %29 = OpAccessChain %_ptr_StorageBuffer_half %23 %26
+ OpCooperativeMatrixStoreKHR %29 %27 %uint_1 %28 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %32 = OpLabel
- %33 = OpFunctionCall %void %subgroupMatrixStore_bfe106
+ %33 = OpLabel
+ %34 = OpFunctionCall %void %subgroupMatrixStore_bfe106
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.spvasm
index 0e05401..7996d8c 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.spvasm
@@ -40,12 +40,12 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%17 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_1
- %16 = OpConstantNull %17
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %16 = OpConstantComposite %17 %half_0x0p_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_Workgroup_half = OpTypePointer Workgroup %half
- %31 = OpTypeFunction %void %uint
+ %32 = OpTypeFunction %void %uint
%bool = OpTypeBool
-%half_0x0p_0 = OpConstant %half 0x0p+0
%uint_2 = OpConstant %uint 2
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_d07581 = OpFunction %void None %11
@@ -56,37 +56,37 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %23 = OpLoad %uint %arg_1 None
- %24 = OpLoad %17 %arg_2 None
- %25 = OpLoad %uint %arg_4 None
- %26 = OpAccessChain %_ptr_Workgroup_half %arg_0 %23
- OpCooperativeMatrixStoreKHR %26 %24 %uint_1 %25 NonPrivatePointer
+ %24 = OpLoad %uint %arg_1 None
+ %25 = OpLoad %17 %arg_2 None
+ %26 = OpLoad %uint %arg_4 None
+ %27 = OpAccessChain %_ptr_Workgroup_half %arg_0 %24
+ OpCooperativeMatrixStoreKHR %27 %25 %uint_1 %26 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %31
+%compute_main_inner = OpFunction %void None %32
%tint_local_index = OpFunctionParameter %uint
- %32 = OpLabel
- OpBranch %33
%33 = OpLabel
- OpBranch %36
- %36 = OpLabel
- %38 = OpPhi %uint %tint_local_index %33 %39 %35
- OpLoopMerge %37 %35 None
OpBranch %34
%34 = OpLabel
- %40 = OpUGreaterThanEqual %bool %38 %uint_64
- OpSelectionMerge %42 None
- OpBranchConditional %40 %43 %42
- %43 = OpLabel
OpBranch %37
- %42 = OpLabel
- %44 = OpAccessChain %_ptr_Workgroup_half %arg_0 %38
- OpStore %44 %half_0x0p_0 NonPrivatePointer
+ %37 = OpLabel
+ %39 = OpPhi %uint %tint_local_index %34 %40 %36
+ OpLoopMerge %38 %36 None
OpBranch %35
%35 = OpLabel
- %39 = OpIAdd %uint %38 %uint_1
+ %41 = OpUGreaterThanEqual %bool %39 %uint_64
+ OpSelectionMerge %43 None
+ OpBranchConditional %41 %44 %43
+ %44 = OpLabel
+ OpBranch %38
+ %43 = OpLabel
+ %45 = OpAccessChain %_ptr_Workgroup_half %arg_0 %39
+ OpStore %45 %half_0x0p_0 NonPrivatePointer
OpBranch %36
- %37 = OpLabel
+ %36 = OpLabel
+ %40 = OpIAdd %uint %39 %uint_1
+ OpBranch %37
+ %38 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%49 = OpFunctionCall %void %subgroupMatrixStore_d07581
OpReturn
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.spvasm
index f2569be..efe4d43 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/d55153.wgsl.expected.spvasm
@@ -38,10 +38,10 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%14 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_2
- %13 = OpConstantNull %14
+ %uint_0 = OpConstant %uint 0
+ %13 = OpConstantComposite %14 %uint_0
%_ptr_Function_14 = OpTypePointer Function %14
%_ptr_StorageBuffer__runtimearr_uint = OpTypePointer StorageBuffer %_runtimearr_uint
- %uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%subgroupMatrixStore_d55153 = OpFunction %void None %8
%9 = OpLabel
@@ -51,11 +51,11 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %13
OpStore %arg_4 %uint_1
- %21 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_rw %uint_0
+ %22 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_rw %uint_0
%24 = OpLoad %uint %arg_1 None
%25 = OpLoad %14 %arg_2 None
%26 = OpLoad %uint %arg_4 None
- %27 = OpAccessChain %_ptr_StorageBuffer_uint %21 %24
+ %27 = OpAccessChain %_ptr_StorageBuffer_uint %22 %24
OpCooperativeMatrixStoreKHR %27 %25 %uint_1 %26 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.spvasm
index df3b480..6847264 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.spvasm
@@ -42,7 +42,7 @@
%uint_8 = OpConstant %uint 8
%uint_0 = OpConstant %uint 0
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_0
- %15 = OpConstantNull %16
+ %15 = OpConstantComposite %16 %uint_0
%_ptr_Function_16 = OpTypePointer Function %16
%_ptr_StorageBuffer__arr_uint_uint_64 = OpTypePointer StorageBuffer %_arr_uint_uint_64
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.spvasm
index 7e60159..31b8428 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.spvasm
@@ -38,12 +38,12 @@
%uint_8 = OpConstant %uint 8
%uint_0 = OpConstant %uint 0
%17 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
- %16 = OpConstantNull %17
+ %float_0 = OpConstant %float 0
+ %16 = OpConstantComposite %17 %float_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_Workgroup_float = OpTypePointer Workgroup %float
- %32 = OpTypeFunction %void %uint
+ %33 = OpTypeFunction %void %uint
%bool = OpTypeBool
- %float_0 = OpConstant %float 0
%uint_2 = OpConstant %uint 2
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_dc92cf = OpFunction %void None %11
@@ -54,37 +54,37 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %24 = OpLoad %uint %arg_1 None
- %25 = OpLoad %17 %arg_2 None
- %26 = OpLoad %uint %arg_4 None
- %27 = OpAccessChain %_ptr_Workgroup_float %arg_0 %24
- OpCooperativeMatrixStoreKHR %27 %25 %uint_1 %26 NonPrivatePointer
+ %25 = OpLoad %uint %arg_1 None
+ %26 = OpLoad %17 %arg_2 None
+ %27 = OpLoad %uint %arg_4 None
+ %28 = OpAccessChain %_ptr_Workgroup_float %arg_0 %25
+ OpCooperativeMatrixStoreKHR %28 %26 %uint_1 %27 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %32
+%compute_main_inner = OpFunction %void None %33
%tint_local_index = OpFunctionParameter %uint
- %33 = OpLabel
- OpBranch %34
%34 = OpLabel
- OpBranch %37
- %37 = OpLabel
- %39 = OpPhi %uint %tint_local_index %34 %40 %36
- OpLoopMerge %38 %36 None
OpBranch %35
%35 = OpLabel
- %41 = OpUGreaterThanEqual %bool %39 %uint_64
- OpSelectionMerge %43 None
- OpBranchConditional %41 %44 %43
- %44 = OpLabel
OpBranch %38
- %43 = OpLabel
- %45 = OpAccessChain %_ptr_Workgroup_float %arg_0 %39
- OpStore %45 %float_0 NonPrivatePointer
+ %38 = OpLabel
+ %40 = OpPhi %uint %tint_local_index %35 %41 %37
+ OpLoopMerge %39 %37 None
OpBranch %36
%36 = OpLabel
- %40 = OpIAdd %uint %39 %uint_1
+ %42 = OpUGreaterThanEqual %bool %40 %uint_64
+ OpSelectionMerge %44 None
+ OpBranchConditional %42 %45 %44
+ %45 = OpLabel
+ OpBranch %39
+ %44 = OpLabel
+ %46 = OpAccessChain %_ptr_Workgroup_float %arg_0 %40
+ OpStore %46 %float_0 NonPrivatePointer
OpBranch %37
- %38 = OpLabel
+ %37 = OpLabel
+ %41 = OpIAdd %uint %40 %uint_1
+ OpBranch %38
+ %39 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%50 = OpFunctionCall %void %subgroupMatrixStore_dc92cf
OpReturn
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.spvasm
index d7c57f5..2458522 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.spvasm
@@ -42,10 +42,10 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%16 = OpTypeCooperativeMatrixKHR %uint %uint_3 %uint_8 %uint_8 %uint_2
- %15 = OpConstantNull %16
+ %uint_0 = OpConstant %uint 0
+ %15 = OpConstantComposite %16 %uint_0
%_ptr_Function_16 = OpTypePointer Function %16
%_ptr_StorageBuffer__arr_uint_uint_64 = OpTypePointer StorageBuffer %_arr_uint_uint_64
- %uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%subgroupMatrixStore_dce0b7 = OpFunction %void None %10
%11 = OpLabel
@@ -55,11 +55,11 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %15
OpStore %arg_4 %uint_1
- %23 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_64 %1 %uint_0 %uint_0
+ %24 = OpAccessChain %_ptr_StorageBuffer__arr_uint_uint_64 %1 %uint_0 %uint_0
%26 = OpLoad %uint %arg_1 None
%27 = OpLoad %16 %arg_2 None
%28 = OpLoad %uint %arg_4 None
- %29 = OpAccessChain %_ptr_StorageBuffer_uint %23 %26
+ %29 = OpAccessChain %_ptr_StorageBuffer_uint %24 %26
OpCooperativeMatrixStoreKHR %29 %27 %uint_1 %28 NonPrivatePointer
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.spvasm
index c836c77..b34c141 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/eae7d8.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
-; Bound: 33
+; Bound: 34
; Schema: 0
OpCapability Shader
OpCapability VulkanMemoryModel
@@ -38,7 +38,8 @@
%uint_3 = OpConstant %uint 3
%uint_8 = OpConstant %uint 8
%15 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_1
- %14 = OpConstantNull %15
+ %int_0 = OpConstant %int 0
+ %14 = OpConstantComposite %15 %int_0
%_ptr_Function_15 = OpTypePointer Function %15
%_ptr_StorageBuffer__runtimearr_int = OpTypePointer StorageBuffer %_runtimearr_int
%uint_0 = OpConstant %uint 0
@@ -51,16 +52,16 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %14
OpStore %arg_4 %uint_1
- %21 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_rw %uint_0
- %24 = OpLoad %uint %arg_1 None
- %25 = OpLoad %15 %arg_2 None
- %26 = OpLoad %uint %arg_4 None
- %27 = OpAccessChain %_ptr_StorageBuffer_int %21 %24
- OpCooperativeMatrixStoreKHR %27 %25 %uint_1 %26 NonPrivatePointer
+ %22 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_rw %uint_0
+ %25 = OpLoad %uint %arg_1 None
+ %26 = OpLoad %15 %arg_2 None
+ %27 = OpLoad %uint %arg_4 None
+ %28 = OpAccessChain %_ptr_StorageBuffer_int %22 %25
+ OpCooperativeMatrixStoreKHR %28 %26 %uint_1 %27 NonPrivatePointer
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %8
- %31 = OpLabel
- %32 = OpFunctionCall %void %subgroupMatrixStore_eae7d8
+ %32 = OpLabel
+ %33 = OpFunctionCall %void %subgroupMatrixStore_eae7d8
OpReturn
OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.spvasm
index 822d716..d3254ce 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.spvasm
@@ -41,12 +41,12 @@
%uint_8 = OpConstant %uint 8
%uint_0 = OpConstant %uint 0
%17 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
- %16 = OpConstantNull %17
+%half_0x0p_0 = OpConstant %half 0x0p+0
+ %16 = OpConstantComposite %17 %half_0x0p_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_Workgroup_half = OpTypePointer Workgroup %half
- %32 = OpTypeFunction %void %uint
+ %33 = OpTypeFunction %void %uint
%bool = OpTypeBool
-%half_0x0p_0 = OpConstant %half 0x0p+0
%uint_2 = OpConstant %uint 2
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_ee1195 = OpFunction %void None %11
@@ -57,37 +57,37 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %24 = OpLoad %uint %arg_1 None
- %25 = OpLoad %17 %arg_2 None
- %26 = OpLoad %uint %arg_4 None
- %27 = OpAccessChain %_ptr_Workgroup_half %arg_0 %24
- OpCooperativeMatrixStoreKHR %27 %25 %uint_1 %26 NonPrivatePointer
+ %25 = OpLoad %uint %arg_1 None
+ %26 = OpLoad %17 %arg_2 None
+ %27 = OpLoad %uint %arg_4 None
+ %28 = OpAccessChain %_ptr_Workgroup_half %arg_0 %25
+ OpCooperativeMatrixStoreKHR %28 %26 %uint_1 %27 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %32
+%compute_main_inner = OpFunction %void None %33
%tint_local_index = OpFunctionParameter %uint
- %33 = OpLabel
- OpBranch %34
%34 = OpLabel
- OpBranch %37
- %37 = OpLabel
- %39 = OpPhi %uint %tint_local_index %34 %40 %36
- OpLoopMerge %38 %36 None
OpBranch %35
%35 = OpLabel
- %41 = OpUGreaterThanEqual %bool %39 %uint_64
- OpSelectionMerge %43 None
- OpBranchConditional %41 %44 %43
- %44 = OpLabel
OpBranch %38
- %43 = OpLabel
- %45 = OpAccessChain %_ptr_Workgroup_half %arg_0 %39
- OpStore %45 %half_0x0p_0 NonPrivatePointer
+ %38 = OpLabel
+ %40 = OpPhi %uint %tint_local_index %35 %41 %37
+ OpLoopMerge %39 %37 None
OpBranch %36
%36 = OpLabel
- %40 = OpIAdd %uint %39 %uint_1
+ %42 = OpUGreaterThanEqual %bool %40 %uint_64
+ OpSelectionMerge %44 None
+ OpBranchConditional %42 %45 %44
+ %45 = OpLabel
+ OpBranch %39
+ %44 = OpLabel
+ %46 = OpAccessChain %_ptr_Workgroup_half %arg_0 %40
+ OpStore %46 %half_0x0p_0 NonPrivatePointer
OpBranch %37
- %38 = OpLabel
+ %37 = OpLabel
+ %41 = OpIAdd %uint %40 %uint_1
+ OpBranch %38
+ %39 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%50 = OpFunctionCall %void %subgroupMatrixStore_ee1195
OpReturn
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.spvasm
index 9db988c..6d9c265 100644
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.spvasm
@@ -38,12 +38,12 @@
%uint_8 = OpConstant %uint 8
%uint_2 = OpConstant %uint 2
%17 = OpTypeCooperativeMatrixKHR %int %uint_3 %uint_8 %uint_8 %uint_2
- %16 = OpConstantNull %17
+ %int_0 = OpConstant %int 0
+ %16 = OpConstantComposite %17 %int_0
%_ptr_Function_17 = OpTypePointer Function %17
%_ptr_Workgroup_int = OpTypePointer Workgroup %int
- %32 = OpTypeFunction %void %uint
+ %33 = OpTypeFunction %void %uint
%bool = OpTypeBool
- %int_0 = OpConstant %int 0
%uint_24840 = OpConstant %uint 24840
%subgroupMatrixStore_f04d67 = OpFunction %void None %11
%12 = OpLabel
@@ -53,37 +53,37 @@
OpStore %arg_1 %uint_1
OpStore %arg_2 %16
OpStore %arg_4 %uint_1
- %24 = OpLoad %uint %arg_1 None
- %25 = OpLoad %17 %arg_2 None
- %26 = OpLoad %uint %arg_4 None
- %27 = OpAccessChain %_ptr_Workgroup_int %arg_0 %24
- OpCooperativeMatrixStoreKHR %27 %25 %uint_1 %26 NonPrivatePointer
+ %25 = OpLoad %uint %arg_1 None
+ %26 = OpLoad %17 %arg_2 None
+ %27 = OpLoad %uint %arg_4 None
+ %28 = OpAccessChain %_ptr_Workgroup_int %arg_0 %25
+ OpCooperativeMatrixStoreKHR %28 %26 %uint_1 %27 NonPrivatePointer
OpReturn
OpFunctionEnd
-%compute_main_inner = OpFunction %void None %32
+%compute_main_inner = OpFunction %void None %33
%tint_local_index = OpFunctionParameter %uint
- %33 = OpLabel
- OpBranch %34
%34 = OpLabel
- OpBranch %37
- %37 = OpLabel
- %39 = OpPhi %uint %tint_local_index %34 %40 %36
- OpLoopMerge %38 %36 None
OpBranch %35
%35 = OpLabel
- %41 = OpUGreaterThanEqual %bool %39 %uint_64
- OpSelectionMerge %43 None
- OpBranchConditional %41 %44 %43
- %44 = OpLabel
OpBranch %38
- %43 = OpLabel
- %45 = OpAccessChain %_ptr_Workgroup_int %arg_0 %39
- OpStore %45 %int_0 NonPrivatePointer
+ %38 = OpLabel
+ %40 = OpPhi %uint %tint_local_index %35 %41 %37
+ OpLoopMerge %39 %37 None
OpBranch %36
%36 = OpLabel
- %40 = OpIAdd %uint %39 %uint_1
+ %42 = OpUGreaterThanEqual %bool %40 %uint_64
+ OpSelectionMerge %44 None
+ OpBranchConditional %42 %45 %44
+ %45 = OpLabel
+ OpBranch %39
+ %44 = OpLabel
+ %46 = OpAccessChain %_ptr_Workgroup_int %arg_0 %40
+ OpStore %46 %int_0 NonPrivatePointer
OpBranch %37
- %38 = OpLabel
+ %37 = OpLabel
+ %41 = OpIAdd %uint %40 %uint_1
+ OpBranch %38
+ %39 = OpLabel
OpControlBarrier %uint_2 %uint_2 %uint_24840
%49 = OpFunctionCall %void %subgroupMatrixStore_f04d67
OpReturn