SKIP: FAILED

../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: $B1: {  # root
  %a:ptr<uniform, array<mat2x2<f32>, 4>, read> = var @binding_point(0, 0)
  %s:ptr<storage, f32, read_write> = var @binding_point(0, 1)
  %counter:ptr<private, i32, read_write> = var, 0i
}

%i = func():i32 {
  $B2: {
    %5:i32 = load %counter
    %6:i32 = add %5, 1i
    store %counter, %6
    %7:i32 = load %counter
    ret %7
  }
}
%f = @compute @workgroup_size(1, 1, 1) func():void {
  $B3: {
    %p_a:ptr<uniform, array<mat2x2<f32>, 4>, read> = let %a
    %10:i32 = call %i
    %11:ptr<uniform, mat2x2<f32>, read> = access %p_a, %10
    %p_a_i:ptr<uniform, mat2x2<f32>, read> = let %11
    %13:i32 = call %i
    %14:ptr<uniform, vec2<f32>, read> = access %p_a_i, %13
    %p_a_i_i:ptr<uniform, vec2<f32>, read> = let %14
    %16:array<mat2x2<f32>, 4> = load %p_a
    %l_a:array<mat2x2<f32>, 4> = let %16
    %18:mat2x2<f32> = load %p_a_i
    %l_a_i:mat2x2<f32> = let %18
    %20:vec2<f32> = load %p_a_i_i
    %l_a_i_i:vec2<f32> = let %20
    %22:f32 = load_vector_element %p_a_i_i, 0u
    %23:f32 = access %l_a, 0i, 0i, 0u
    %24:f32 = add %22, %23
    %25:f32 = access %l_a_i, 0i, 0u
    %26:f32 = add %24, %25
    %27:f32 = access %l_a_i_i, 0u
    %28:f32 = add %26, %27
    store %s, %28
    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.  *
********************************************************************
