SKIP: FAILED

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

%f = @compute @workgroup_size(1, 1, 1) func():void {
  $B2: {
    %3:mat4x2<f16> = load %u
    %4:mat2x4<f16> = transpose %3
    %t:mat2x4<f16> = let %4
    %6:ptr<uniform, vec2<f16>, read> = access %u, 1i
    %7:vec2<f16> = load %6
    %8:f16 = length %7
    %l:f16 = let %8
    %10:ptr<uniform, vec2<f16>, read> = access %u, 0i
    %11:vec2<f16> = load %10
    %12:vec2<f16> = swizzle %11, yx
    %13:f16 = access %12, 0u
    %14:f16 = abs %13
    %a:f16 = let %14
    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.  *
********************************************************************
