SKIP: FAILED

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

$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, mat4x3<f32>, read> = access %u, 2i, 1u
    %4:mat4x3<f32> = load %3
    %5:mat3x4<f32> = transpose %4
    %t:mat3x4<f32> = let %5
    %7:ptr<uniform, vec3<f32>, read> = access %u, 0i, 1u, 1i
    %8:vec3<f32> = load %7
    %9:vec3<f32> = swizzle %8, zxy
    %10:f32 = length %9
    %l:f32 = let %10
    %12:ptr<uniform, vec3<f32>, read> = access %u, 0i, 1u, 1i
    %13:vec3<f32> = load %12
    %14:vec3<f32> = swizzle %13, zxy
    %15:f32 = access %14, 0u
    %16:f32 = abs %15
    %a:f32 = 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.  *
********************************************************************
