blob: 744838d5b010c243ee7a47c70e3a8ef1f3ebc6c6 [file] [log] [blame]
SKIP: FAILED
enable chromium_experimental_subgroup_matrix;
var<workgroup> arg_0 : array<i32, 1024>;
fn subgroupMatrixStore_c266d0() {
subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<i8, 8, 8>(), true, 8u);
}
@compute @workgroup_size(1)
fn compute_main() {
subgroupMatrixStore_c266d0();
}
Failed to generate SPIR-V: :9:15 error: spirv.cooperative_matrix_store: no matching call to 'spirv.cooperative_matrix_store(ptr<workgroup, i32, read_write>, subgroup_matrix_left<i8, 8, 8>, u32, u32, u32)'
1 candidate function:
'spirv.cooperative_matrix_store(ptr<workgroup' or 'storage, S, write' or 'read_write> ✓ , subgroup_matrix<K, S, C, R> ✗ , u32 ✓ , u32 ✓ , u32 ✓ )' where:
'S' is 'f32', 'i32', 'u32' or 'f16'
%5:void = spirv.cooperative_matrix_store %4, %3, 1u, 8u, 32u
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:6:3 note: in block
$B2: {
^^^
note: # Disassembly
$B1: { # root
%arg_0:ptr<workgroup, array<i32, 1024>, read_write> = var undef
}
%subgroupMatrixStore_c266d0 = func():void {
$B2: {
%3:subgroup_matrix_left<i8, 8, 8> = construct
%4:ptr<workgroup, i32, read_write> = access %arg_0, 1u
%5:void = spirv.cooperative_matrix_store %4, %3, 1u, 8u, 32u
ret
}
}
%compute_main = @compute @workgroup_size(1i, 1i, 1i) func(%tint_local_index:u32 [@local_invocation_index]):void {
$B3: {
loop [i: $B4, b: $B5, c: $B6] { # loop_1
$B4: { # initializer
next_iteration %tint_local_index # -> $B5
}
$B5 (%idx:u32): { # body
%9:bool = gte %idx, 1024u
if %9 [t: $B7] { # if_1
$B7: { # true
exit_loop # loop_1
}
}
%10:ptr<workgroup, i32, read_write> = access %arg_0, %idx
store %10, 0i
continue # -> $B6
}
$B6: { # continuing
%11:u32 = add %idx, 1u
next_iteration %11 # -> $B5
}
}
%12:void = workgroupBarrier
%13:void = call %subgroupMatrixStore_c266d0
ret
}
}
tint executable returned error: exit status 1