SKIP: FAILED

../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: S = struct @align(64) {
  before:i32 @offset(0)
  m:mat2x4<f16> @offset(8)
  after:i32 @offset(64)
}

$B1: {  # root
  %u:ptr<uniform, array<S, 4>, read> = var @binding_point(0, 0)
}

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