SKIP: FAILED

../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: S = struct @align(64) {
  before:i32 @offset(0)
  m:mat3x3<f32> @offset(16)
  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, mat3x3<f32>, read> = access %u, 2i, 1u
    %4:mat3x3<f32> = load %3
    %5:mat3x3<f32> = transpose %4
    %t:mat3x3<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.  *
********************************************************************
