| 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 |