SKIP: FAILED

<dawn>/src/tint/lang/msl/writer/printer/printer.cc:493 internal compiler error: %b1 = block {  # root
  %s:ptr<storage, f32, read_write> = var @binding_point(0, 0)
}

%f1 = func(%a:array<f32, 4>):f32 -> %b2 {
  %b2 = block {
    %4:f32 = access %a, 3i
    ret %4
  }
}
%f2 = func(%a_1:array<array<f32, 4>, 3>):f32 -> %b3 {  # %a_1: 'a'
  %b3 = block {
    %7:f32 = access %a_1, 2i, 3i
    ret %7
  }
}
%f3 = func(%a_2:array<array<array<f32, 4>, 3>, 2>):f32 -> %b4 {  # %a_2: 'a'
  %b4 = block {
    %10:f32 = access %a_2, 1i, 2i, 3i
    ret %10
  }
}
%tint_symbol = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
  %b5 = block {
    %a1:array<f32, 4> = let array<f32, 4>(0.0f)
    %a2:array<array<f32, 4>, 3> = let array<array<f32, 4>, 3>(array<f32, 4>(0.0f))
    %a3:array<array<array<f32, 4>, 3>, 2> = let array<array<array<f32, 4>, 3>, 2>(array<array<f32, 4>, 3>(array<f32, 4>(0.0f)))
    %15:f32 = call %f1, %a1
    %v1:f32 = let %15
    %17:f32 = call %f2, %a2
    %v2:f32 = let %17
    %19:f32 = call %f3, %a3
    %v3:f32 = let %19
    %21:f32 = add %v1, %v2
    %22:f32 = add %21, %v3
    store %s, %22
    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.  *
********************************************************************
