SKIP: FAILED

../../src/tint/lang/msl/writer/printer/printer.cc:1257 internal compiler error: FragOutput = struct @align(16) {
  color:vec4<f32> @offset(0), @location(0)
  blend:vec4<f32> @offset(16), @location(0)
}

%frag_main = @fragment func():FragOutput {
  $B1: {
    %output:ptr<function, FragOutput, read_write> = var
    %3:ptr<function, vec4<f32>, read_write> = access %output, 0u
    store %3, vec4<f32>(0.5f, 0.5f, 0.5f, 1.0f)
    %4:ptr<function, vec4<f32>, read_write> = access %output, 1u
    store %4, vec4<f32>(0.5f, 0.5f, 0.5f, 1.0f)
    %5:FragOutput = load %output
    ret %5
  }
}

invalid entry point IO struct uses
********************************************************************
*  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.  *
********************************************************************
