SKIP: FAILED

../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: $B1: {  # root
  %u:ptr<uniform, array<mat2x4<f32>, 4>, read> = var @binding_point(0, 0)
  %w:ptr<workgroup, array<mat2x4<f32>, 4>, read_write> = var
}

%f = @compute @workgroup_size(1, 1, 1) func(%tint_local_index:u32 [@local_invocation_index]):void {
  $B2: {
    loop [i: $B3, b: $B4, c: $B5] {  # loop_1
      $B3: {  # initializer
        next_iteration %tint_local_index  # -> $B4
      }
      $B4 (%idx:u32): {  # body
        %6:bool = gte %idx, 4u
        if %6 [t: $B6] {  # if_1
          $B6: {  # true
            exit_loop  # loop_1
          }
        }
        %7:ptr<workgroup, mat2x4<f32>, read_write> = access %w, %idx
        store %7, mat2x4<f32>(vec4<f32>(0.0f))
        continue  # -> $B5
      }
      $B5: {  # continuing
        %8:u32 = add %idx, 1u
        next_iteration %8  # -> $B4
      }
    }
    %9:void = msl.threadgroup_barrier 4u
    %10:array<mat2x4<f32>, 4> = load %u
    store %w, %10
    %11:ptr<workgroup, mat2x4<f32>, read_write> = access %w, 1i
    %12:ptr<uniform, mat2x4<f32>, read> = access %u, 2i
    %13:mat2x4<f32> = load %12
    store %11, %13
    %14:ptr<workgroup, vec4<f32>, read_write> = access %w, 1i, 0i
    %15:ptr<uniform, vec4<f32>, read> = access %u, 0i, 1i
    %16:vec4<f32> = load %15
    %17:vec4<f32> = swizzle %16, ywxz
    store %14, %17
    %18:ptr<workgroup, vec4<f32>, read_write> = access %w, 1i, 0i
    %19:ptr<uniform, vec4<f32>, read> = access %u, 0i, 1i
    %20:f32 = load_vector_element %19, 0u
    store_vector_element %18, 0u, %20
    ret
  }
}

unhandled variable address space
********************************************************************
*  The tint shader compiler has encountered an unexpected error.   *
*                                                                  *
*  Please help us fix this issue by submitting a bug report at     *
*  crbug.com/tint with the source program that triggered the bug.  *
********************************************************************
