SKIP: FAILED

<dawn>/src/tint/lang/msl/writer/printer/printer.cc:383 internal compiler error: S = struct @align(8) {
  tint_symbol:mat3x2<f16> @offset(0)
  vector:vec3<f16> @offset(16)
}

%b1 = block {  # root
  %data:ptr<uniform, S, read> = var @binding_point(0, 0)
}

%tint_symbol_1 = @fragment func():void -> %b2 {
  %b2 = block {
    %3:ptr<uniform, mat3x2<f16>, read> = access %data, 0u
    %4:mat3x2<f16> = load %3
    %5:ptr<uniform, vec3<f16>, read> = access %data, 1u
    %6:vec3<f16> = load %5
    %x:vec2<f16> = mul %4, %6
    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.  *
********************************************************************
