SKIP: FAILED

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

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