SKIP: FAILED

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

%a = func(%m:mat3x4<f32>):void {
  $B2: {
    ret
  }
}
%b = func(%v:vec4<f32>):void {
  $B3: {
    ret
  }
}
%c = func(%f:f32):void {
  $B4: {
    ret
  }
}
%f_1 = @compute @workgroup_size(1, 1, 1) func():void {  # %f_1: 'f'
  $B5: {
    %9:mat3x4<f32> = load %u
    %10:void = call %a, %9
    %11:ptr<uniform, vec4<f32>, read> = access %u, 1i
    %12:vec4<f32> = load %11
    %13:void = call %b, %12
    %14:ptr<uniform, vec4<f32>, read> = access %u, 1i
    %15:vec4<f32> = load %14
    %16:vec4<f32> = swizzle %15, ywxz
    %17:void = call %b, %16
    %18:ptr<uniform, vec4<f32>, read> = access %u, 1i
    %19:f32 = load_vector_element %18, 0u
    %20:void = call %c, %19
    %21:ptr<uniform, vec4<f32>, read> = access %u, 1i
    %22:vec4<f32> = load %21
    %23:vec4<f32> = swizzle %22, ywxz
    %24:f32 = access %23, 0u
    %25:void = call %c, %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.  *
********************************************************************
