blob: a1dfab634bc8c99f82c31f18ed5811124af692ff [file] [log] [blame]
SKIP: FAILED
enable chromium_experimental_subgroup_matrix;
enable f16;
@internal(disable_validation__binding_point_collision) @group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
fn subgroupMatrixMultiplyAccumulate_071472() -> subgroup_matrix_result<f32, 8, 8> {
var res : subgroup_matrix_result<f32, 8, 8> = subgroupMatrixMultiplyAccumulate(subgroup_matrix_left<f16, 8, 8>(), subgroup_matrix_right<f16, 8, 8>(), subgroup_matrix_result<f32, 8, 8>());
return res;
}
@compute @workgroup_size(1)
fn compute_main() {
subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixMultiplyAccumulate_071472(), false, 64);
}
Failed to generate: :12:15 error: msl.simdgroup_multiply_accumulate: no matching call to 'msl.simdgroup_multiply_accumulate(subgroup_matrix_result<f32, 8, 8>, subgroup_matrix_left<f16, 8, 8>, subgroup_matrix_right<f16, 8, 8>, subgroup_matrix_result<f32, 8, 8>)'
1 candidate function:
'msl.simdgroup_multiply_accumulate(subgroup_matrix<result, S, C, R> ✓ , subgroup_matrix<left, S, K, R> ✗ , subgroup_matrix<right, S, C, K> ✗ , subgroup_matrix<result, S, C, R> ✓ )' where:
'S' is 'f32' or 'f16'
%7:void = msl.simdgroup_multiply_accumulate %6, %2, %3, %4
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:6:3 note: in block
$B1: {
^^^
note: # Disassembly
tint_module_vars_struct = struct @align(1) {
prevent_dce:ptr<storage, array<f32, 1024>, read_write> @offset(0)
}
%subgroupMatrixMultiplyAccumulate_071472 = func():subgroup_matrix_result<f32, 8, 8> {
$B1: {
%2:subgroup_matrix_left<f16, 8, 8> = construct
%3:subgroup_matrix_right<f16, 8, 8> = construct
%4:subgroup_matrix_result<f32, 8, 8> = construct
%5:ptr<function, subgroup_matrix_result<f32, 8, 8>, read_write> = var
%6:subgroup_matrix_result<f32, 8, 8> = load %5
%7:void = msl.simdgroup_multiply_accumulate %6, %2, %3, %4
%8:subgroup_matrix_result<f32, 8, 8> = load %5
%res:ptr<function, subgroup_matrix_result<f32, 8, 8>, read_write> = var, %8
%10:subgroup_matrix_result<f32, 8, 8> = load %res
ret %10
}
}
%compute_main = @compute @workgroup_size(1u, 1u, 1u) func(%prevent_dce:ptr<storage, array<f32, 1024>, read_write> [@binding_point(0, 0)]):void {
$B2: {
%13:tint_module_vars_struct = construct %prevent_dce
%tint_module_vars:tint_module_vars_struct = let %13
%15:subgroup_matrix_result<f32, 8, 8> = call %subgroupMatrixMultiplyAccumulate_071472
%16:ptr<storage, array<f32, 1024>, read_write> = access %tint_module_vars, 0u
%17:ptr<storage, f32, read_write> = access %16, 0u
%18:u64 = msl.convert 64u
%19:void = msl.simdgroup_store %15, %17, %18, vec2<u64>(0u64), false
ret
}
}
tint executable returned error: exit status 1