SKIP: FAILED

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

%f = @compute @workgroup_size(1, 1, 1) func():void {
  $B2: {
    %4:ptr<uniform, mat4x4<f16>, read> = access %u, 2i
    %5:mat4x4<f16> = load %4
    %6:mat4x4<f16> = transpose %5
    %t:mat4x4<f16> = let %6
    %8:ptr<uniform, vec4<f16>, read> = access %u, 0i, 1i
    %9:vec4<f16> = load %8
    %10:vec4<f16> = swizzle %9, ywxz
    %11:f16 = length %10
    %l:f16 = let %11
    %13:ptr<uniform, vec4<f16>, read> = access %u, 0i, 1i
    %14:vec4<f16> = load %13
    %15:vec4<f16> = swizzle %14, ywxz
    %16:f16 = access %15, 0u
    %17:f16 = abs %16
    %a:f16 = let %17
    %19:f16 = access %t, 0i, 0u
    %20:f16 = construct %l
    %21:f16 = add %19, %20
    %22:f16 = let %21
    %23:f16 = construct %a
    %24:f16 = add %22, %23
    store %s, %24
    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.  *
********************************************************************
