SKIP: FAILED

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

%f = @compute @workgroup_size(1, 1, 1) func(%tint_local_index:u32 [@local_invocation_index]):void {
  $B2: {
    %5:bool = eq %tint_local_index, 0u
    if %5 [t: $B3] {  # if_1
      $B3: {  # true
        store %w, mat4x4<f32>(vec4<f32>(0.0f))
        exit_if  # if_1
      }
    }
    %6:void = msl.threadgroup_barrier 4u
    %7:mat4x4<f32> = load %u
    store %w, %7
    %8:ptr<workgroup, vec4<f32>, read_write> = access %w, 1i
    %9:ptr<uniform, vec4<f32>, read> = access %u, 0i
    %10:vec4<f32> = load %9
    store %8, %10
    %11:ptr<workgroup, vec4<f32>, read_write> = access %w, 1i
    %12:ptr<uniform, vec4<f32>, read> = access %u, 0i
    %13:vec4<f32> = load %12
    %14:vec4<f32> = swizzle %13, ywxz
    store %11, %14
    %15:ptr<workgroup, vec4<f32>, read_write> = access %w, 0i
    %16:ptr<uniform, vec4<f32>, read> = access %u, 1i
    %17:f32 = load_vector_element %16, 0i
    store_vector_element %15, 1i, %17
    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.  *
********************************************************************
